大家好,我需要帮助来解决这个问题,我不能在php8上运行laravel 5.7,当我执行"php artisan serve“时,我得到了错误:
thrown in /var/www/html/myProject/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 838
PHP Fatal error: Uncaught ErrorException: Method ReflectionParameter::getClass() is deprecated in /var/www/html/myProject/vendor/laravel/framework/src/Illuminate/Container/Container.php:838我试图将composer所需的php版本从"^7.1.3"更新为"php": "^7.1.3|^8.0",,但当我运行composer update时,我又得到了另一个错误。
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/framework[v5.7.0, ..., 5.7.x-dev] require php ^7.1.3 -> your php version (8.0.3) does not satisfy that requirement.
- Root composer.json requires laravel/framework 5.7.* -> satisfiable by laravel/framework[v5.7.0, ..., 5.7.x-dev].我希望任何人都能分享这个案例的解决方案
发布于 2021-05-04 12:11:30
这两个错误是相关的。
根据PHP的说法,Laravel 5.7只支持The Official Docs >= 7.1.3。
因为PHP8有很多改变游戏规则的修复/迁移/弃用,所以试图强迫它在PHP8上运行会导致一些时髦的事情。所有这些都可以在here上找到。
如果你想使用PHP8,请使用Laravel 8。如果你想使用Laravel 5.7,请使用PHP7。
如果你一定要使用PHP8和Laravel 5.7,我建议你将composer requiremnet改为"php": "^8.0",,但要做好大量故障排除的准备。
发布于 2021-06-11 19:41:36
您可以将exit($e);放在App\Exceptions\Handler::report()中以提供更好的错误消息。
发布于 2021-10-31 12:52:23
删除供应商文件
然后运行命令composer install
https://stackoverflow.com/questions/67378625
复制相似问题