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

执行Composer install后运行php artisan出现Uncaught TypeError报错如何解决

报错问题排查与解决方案

完整报错信息:
Uncaught TypeError: Argument 1 passed to Illuminate\Log\Logger::__construct() must be an instance of Psr\Log\LoggerInterface, instance of Monolog\Logger given

根本原因

该报错由Laravel框架版本与Monolog日志依赖版本不兼容导致:当前项目安装的Monolog版本与Laravel要求的版本范围不匹配,Monolog\Logger实例不符合Psr\Log\LoggerInterface的类型约束,触发参数类型校验失败。

排查步骤

  • 查看当前项目Laravel版本:若php artisan命令可执行,运行php artisan --version;若不可执行,直接查看composer.json内laravel/framework对应的版本号
  • 查看当前安装的Monolog版本:运行composer show monolog/monolog
  • 对照Laravel对应版本的依赖要求,确认Monolog版本是否符合要求:Laravel 5.x仅支持Monolog 1.x版本,Laravel 6及以上版本支持Monolog 2.x/3.x版本

解决方法

方案1:锁定Monolog版本重装依赖

  1. 打开项目根目录的composer.json,在require节点手动添加对应版本约束:
    • Laravel 5.x版本添加:
    "monolog/monolog": "^1.25"
    
    • Laravel 6及以上版本添加:
    "monolog/monolog": "^2.0"
    
  2. 清理旧依赖和锁定文件:
    rm -rf vendor
    rm composer.lock
    
  3. 重新安装依赖:
    composer install
    

方案2:升级Laravel到兼容版本

若项目允许框架升级,直接执行命令升级Laravel并自动适配依赖:

composer update laravel/framework --with-dependencies

方案3:检查自定义日志配置

若以上方案无效,检查config/logging.php内是否存在自定义日志驱动配置,确认没有手动错误实例化Monolog类并注入Laravel日志服务容器,恢复默认日志配置后重试即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:18:00