CodeIgniter 4.3.4迁移至4.5.1时Logger类未找到报错
CodeIgniter 4.3.4迁移至4.5.1时Logger类找不到问题
我正在将代码从CodeIgniter 4.3.4迁移到4.5.1版本,网页运行时出现致命错误:Class "CodeIgniter\Log\Logger" not found,但自动化测试环境下无此报错。
错误回溯信息
Fatal error: Uncaught Error: Class "CodeIgniter\Log\Logger" not found in /var/www/html/project/system_4.5.1/Config/Services.php:403 Stack trace: #0 /var/www/html/project/system_4.5.1/Config/BaseService.php(311): CodeIgniter\Config\Services::logger() #1 /var/www/html/project/system_4.5.1/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic() #2 /var/www/html/project/system_4.5.1/Config/Services.php(400): CodeIgniter\Config\BaseService::getSharedInstance() #3 /var/www/html/project/system_4.5.1/Config/BaseService.php(311): CodeIgniter\Config\Services::logger() #4 /var/www/html/project/system_4.5.1/Config/BaseService.php(201): CodeIgniter\Config\BaseService::__callStatic() #5 /var/www/html/project/system_4.5.1/Common.php(998): CodeIgniter\Config\BaseService::get() #6 /var/www/html/project/system_4.5.1/Common.php(785): service() #7 /var/www/html/project/system_4.5.1/Debug/Exceptions.php(135): log_message() #8 /var/www/html/project/system_4.5.1/Debug/Exceptions.php(252): CodeIgniter\Debug\Exceptions->exceptionHandler() #9 [internal function]: CodeIgniter\Debug\Exceptions->shutdownHandler() #10 {main} thrown in /var/www/html/project/system_4.5.1/Config/Services.php on line 403
我已经检查了所有相关配置文件,未发现异常,但CodeIgniter始终找不到实际存在的Logger类。
为进一步排查,我修改了4.5.1版本Config\Services中的logger()方法,添加了打印当前已加载文件的代码,结果证实Logger类确实未被加载:
public static function logger(bool $getShared = true) { print'<pre>';print_r(get_included_files());print'</pre>'; print'<pre>';print_r($log);print'</pre>';exit; if ($getShared) { return static::getSharedInstance('logger'); } return new Logger(config(LoggerConfig::class)); }
内容的提问来源于stack exchange,提问作者Antony
相关产品推荐
相关产品推荐

