PHP 8开发中的Laravel

问题描述

我有一个带有PHP 8.0.0-dev和composer的docker容器。我想创建一个Laravel应用程序来测试新的PHP,但是有一些错误

当我尝试使用以下命令创建新的laravel项目时:

composer create-project laravel/laravel test

我得到的错误是,即使PHP 8.0.0大于PHP 7.x,我也没有所需的PHP

Loading composer repositories with package @R_604_4045@ion
Updating dependencies (including require-dev)
Your requirements Could not be resolved to an installable set of packages.

  Problem 1
    - laravel/framework v5.6.9 requires PHP ^7.1.3 -> your PHP version (8.0.0-dev) does not satisfy that requirement.
    - laravel/framework v5.6.8 requires PHP ^7.1.3 -> your PHP version (8.0.0-dev) does not satisfy that requirement.
    ...
    ...

我可以以某种方式跳过PHP版本检查吗?

我尝试过

--prefer-dist

--ignore-platform-reqs

但我收到此错误

 Problem 1
    - Conclusion: don't install laravel/laravel v7.25.0|remove laravel/laravel v7.25.0
    - Installation request for laravel/laravel v7.25.0 -> satisfiable by laravel/laravel[v7.25.0].

有什么主意吗?

谢谢!

解决方法

您实际上不能因为Laravel与PHP 8不兼容。您可以在https://github.com/laravel/framework/pull/33388

处看到有关此迁移的请求请求 ,

Laravel现在支持PHP 8.0,但是仍然没有更新某些软件包。它也影响一些PHP扩展: https://blog.remirepo.net/pages/PECL-extensions-RPM-status

首先,请确保您使用的是最新版本的Laravel 6、7或8 获得PHP 8支持。然后确保您使用的是最新版本的 Laravel提供的任何第一方软件包,例如Passport,Cashier,Dusk, 等

您还需要几个常用的依赖项 更新您的composer.json文件:

PHP to php:^8.0    
Faker to fakerphp/faker:^1.9.1    
PHPUnit to phpunit/phpunit:^9.3

最后,运行composer update来更新其他软件包。确保 在更新生产之前测试您的应用程序。而已!享受PHP 8!

来源:https://blog.laravel.com/laravel-php-8-support

,

您正在尝试安装 Laravel 5。 对于 PHP 8,您至少需要 laravel 6,7 或 8 我更喜欢laravel 8(最后一个)

如果您根据 laravel 8 文档使用 docker,则可以使用以下命令创建项目:

curl -s https://laravel.build/example-app |猛击