You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Laravel 6切回5.5后出现ReflectionParameter::getClass()弃用错误

Laravel 5.5 + PHP7.3 下 ReflectionParameter::getClass() 弃用错误排查方案

错误信息

Deprecated: Method ReflectionParameter::getClass() is deprecated in
/private/var/www/finconnect/vendor/laravel/framework/src/Illuminate/Container/Container.php
on line 811
Deprecated: Method ReflectionParameter::getClass() is
deprecated in
/private/var/www/finconnect/vendor/laravel/framework/src/Illuminate/Container/Container.php
on line 885

已尝试操作

  • 清除Laravel各类缓存:
php artisan cache:clear
php artisan config:clear
php artisan view:clear
  • 删除vendor目录并重装依赖:
rm -rf vendor/
composer clearcache
composer dump-autoload -o

环境说明

当前运行PHP 7.3.33 (cli) (built: Dec 27 2023 06:53:55) ( NTS ),Valet环境检查全部正常:

检查项是否正常?
Valet是否完全安装?是
Valet配置是否有效?是
Homebrew是否安装?是
DnsMasq是否安装?是
DnsMasq是否运行?是
DnsMasq是否以root身份运行?是
Nginx是否安装?是
Nginx是否运行?是
Nginx是否以root身份运行?是
PHP是否安装?是
关联的PHP(php@7.3)是否运行?是
关联的PHP(php@7.3)是否以root身份运行?是
valet.sock是否存在?是

根据PHP官方文档,ReflectionParameter::getClass()仅在PHP8.0+中被标记为弃用,PHP7.3本不应触发该警告,现求Laravel5.5+PHP7.3环境下的解决思路。


排查解决思路

1. 确认CLI与Web环境PHP版本一致

CLI显示PHP7.3,但Web服务可能实际调用了更高版本的PHP。在Laravel项目中创建临时路由输出phpinfo():

Route::get('/phpinfo', function() {
    phpinfo();
});

访问该路由检查Web环境的PHP版本,若不一致,调整Valet关联版本:

valet use php@7.3 --force

2. 确保Laravel框架版本完全回退到5.5.x

切换分支后,检查composer.lock中laravel/framework的版本是否为5.5.x。若存在版本残留,执行:

composer require laravel/framework:5.5.* --no-update
composer update laravel/framework --with-dependencies

避免混合Laravel6的代码(Laravel6开始适配PHP8,可能引入高版本PHP的弃用兼容逻辑)。

3. 排查第三方依赖或自定义代码

部分第三方扩展或自定义代码可能自行开启PHP8的弃用警告,可在bootstrap/app.php顶部临时关闭弃用警告验证:

error_reporting(E_ALL & ~E_DEPRECATED);

若警告消失,逐一排查composer.json中的依赖包,更换为兼容PHP7.3的版本。

4. 调整PHP错误报告级别

查看PHP的php.ini文件,确认error_reporting未包含E_DEPRECATED。CLI环境可通过php -i | grep error_reporting查看,Web环境通过phpinfo()查看。修改配置:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

重启Valet服务:

valet restart

内容的提问来源于stack exchange,提问作者MP Simon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:42:54