将我的 mac 更新到 php 8 laravel 应用程序停止工作后,这是我得到的错误:
Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/laravel/framework/src/Illuminate/Container/Container.php on line 871
Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/laravel/framework/src/Illuminate/Container/Container.php on line 945
Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/laravel/framework/src/Illuminate/Container/Container.php on line 871
Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/laravel/framework/src/Illuminate/Container/Container.php on line 945
我试图通过调查没有运气的代码来解决这个问题
原文由 Pezhvak 发布,翻译遵循 CC BY-SA 4.0 许可协议
解决方案
正如 这里 所解释的,最新版本的 laravel 6、7 和 8 已经对 php 8 进行了更改。你所要做的就是:
1-将php 8添加到您的
composer.json
(我保留v7.4以防生产服务器不支持php 8)2-运行
composer update
更新你的laravel到最新版本3-确保更新以下库,因为它们存在于所有 laravel 应用程序中
4-检查需要更新的任何其他库,如果它们不支持 php 8,请贡献。但是您应该很好地使用大多数库,因为它们有活跃的贡献者。
解释问题
如此 处 所述