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

如何在Laravel中禁用Deprecated(废弃)消息提示及日志

解决Laravel中Carbon废弃错误日志的禁用方法

报错信息

Deprecated: Carbon\Traits\Date :: getDaysFromStartOfWeek(): Implicitly marking parameter $weekStartsAt as nullable is deprecated, the explicit nullable type must be used instead in
C:\laragon\www\laravel-c45\vendor\nesbot\carbon\src\Carbon\Traits\Date.php on line 1394

Deprecated: Carbon\Traits\Date :: setDaysFromStartOfWeek(): Implicitly marking parameter $weekStartsAt as nullable is deprecated, the explicit nullable type must be used instead in
C:\laragon\www\laravel-c45\vendor\nesbot\carbon\src\Carbon\Traits\Date.php on line 1412

Deprecated: Carbon\Traits\Date :: utcOffset(): Implicitly marking parameter $minuteOffset as nullable is deprecated, the explicit nullable type must be used instead in C:\laragon\www\laravel-c45\vendor\nesbot\carbon\src\Carbon\Traits\Date.php on line 1481

...

Deprecated messages in Laravel application

这些错误是PHP版本升级后,旧版Carbon代码不符合PHP新类型声明规范导致的,以下是几种可行解决方法:

1. 调整Laravel日志级别

  • 打开项目根目录的.env文件,修改配置:
    APP_DEBUG=false
    LOG_LEVEL=warning
    
    该配置会只记录警告及以上级别的日志,自动过滤废弃提示。
  • 若需保留APP_DEBUG=true,可修改config/logging.php,在目标日志通道(如stack)中添加过滤规则:
    'ignore_exceptions' => [\ErrorException::class => function ($e) {
        return str_contains($e->getMessage(), 'Deprecated:');
    }],
    

2. 修改PHP配置文件

  • 找到PHP配置文件(Laragon可直接在面板点击PHP->php.ini打开),修改error_reporting项:
    error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
    
    保存后重启Web服务器(Laragon点击Restart All),PHP将停止报告废弃类错误。

3. 代码中临时设置错误级别

在项目bootstrap/app.php文件开头添加以下代码,全局禁用废弃错误报告:

error_reporting(E_ALL & ~E_DEPRECATED);

4. 根源解决:升级Carbon依赖

禁用提示仅为临时方案,最稳妥的是升级Carbon至兼容当前PHP版本的版本,运行命令:

composer update nesbot/carbon

升级后废弃提示会自然消失,新版本Carbon已适配PHP类型声明要求。

内容的提问来源于stack exchange,提问作者Hawari Muflih Munte

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:50:10