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

如何在Laravel Valet中关闭PHP废弃警报?

解决Laravel Tinker中Doctrine Inflector弃用错误的几种方法

我之前也碰到过一模一样的问题,给你几个亲测有效的解决方案:

1. 调整Laravel项目的错误报告配置

全局php.ini的设置经常会被Laravel自身的配置覆盖,你可以直接在项目里单独配置:
打开config/app.php,找到(如果没有就添加)error_reporting配置项,设置成:

'error_reporting' => E_ALL & ~E_DEPRECATED,

这样就能在项目层面直接屏蔽所有弃用警告,不仅限于tinker。

2. 启动Tinker时临时屏蔽错误

如果不想改动项目配置,可以在启动tinker的时候直接传递PHP参数:

php -d error_reporting="E_ALL & ~E_DEPRECATED" artisan tinker

这个方法是临时生效的,每次启动都要加,但好处是不会影响项目的其他环境。

3. 确认Valet使用的PHP配置文件

Valet有时候会使用独立的PHP版本,你修改的可能不是它正在用的php.ini文件:
首先查看Valet当前使用的PHP版本:

valet php -v

然后找到对应版本的php.ini路径:

valet php --ini

编辑这个路径下的php.ini,把error_reporting改成E_ALL & ~E_DEPRECATED,之后重启Valet:

valet restart

这次修改就会生效了。

4. 升级依赖彻底解决问题

这个错误本质是因为某些包还在使用Doctrine Inflector的旧API,你可以尝试升级相关依赖:
先查看当前Doctrine Inflector的版本:

composer show doctrine/inflector

如果你的Laravel版本比较旧,建议升级Laravel到支持新Inflector API的版本;或者检查哪个第三方包在调用旧方法,运行:

composer why doctrine/inflector

找到依赖它的包,看看有没有更新版本可以兼容新的Inflector。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 10:03:15