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

CodeIgniter 4集成Google登录时遇Monolog兼容性错误求助

解决CodeIgniter 4集成Google登录时Monolog与PSR-Log兼容错误

这个错误是因为Monolog版本与PSR-Log接口的方法声明不兼容导致的:Monolog的emergency方法添加了Stringable|string类型约束,但对应的PSR-Log接口未定义该约束,从而触发致命错误。

以下是具体解决步骤:

1. 调整Monolog版本至CI4兼容范围

  • 打开项目根目录的composer.json,检查Monolog的版本配置。CodeIgniter 4对Monolog有特定兼容版本,过高版本会与内置PSR-Log接口冲突。
  • 执行命令降级到适配CI4的稳定版本:
    composer require monolog/monolog:^2.9
    
  • 删除冲突的依赖缓存,重新安装:
    rm -rf vendor composer.lock
    composer install
    

2. 移除自定义目录下的冲突依赖

你将Monolog放在app/Libraries/vendor目录下,这会和项目根目录vendor的依赖产生冲突:

  • 删除app/Libraries/vendor下的Monolog相关文件,统一使用项目根目录vendor中的依赖包。
  • 确保CodeIgniter 4的自动加载机制优先加载根目录vendor的包,避免手动引入自定义目录的冲突依赖。

3. 验证PSR-Log与Monolog版本匹配

执行composer show psr/log查看当前PSR-Log版本:

  • Monolog 2.x要求psr/log版本为^1.1 || ^2.0
  • Monolog 3.x要求psr/log版本为^3.0
    如果版本不匹配,调整composer.json中的对应依赖版本后重新执行安装命令。

内容的提问来源于stack exchange,提问作者Alipia Maulana Ibrahim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:12:38