CodeIgniter 3出现CI_URI::$config动态属性弃用错误如何解决?
解决CodeIgniter 3中「Creation of dynamic property CI_URI::$config is deprecated」错误
这个错误是因为PHP 8.1及以上版本禁用了动态创建类属性的行为,而CodeIgniter 3的CI_URI类没有提前声明$config属性,却直接在代码中赋值导致的。以下是具体修复方法:
方法一:修改CI_URI类声明属性(推荐)
- 打开项目中的
system/core/URI.php文件 - 在
CI_URI类的属性定义区域(比如靠近public $uri_string;这类属性的位置),添加一行代码:public $config; - 保存文件后重新运行项目,错误即可消除。
方法二:临时降级PHP版本(不推荐)
如果暂时无法修改框架代码,可以将PHP版本降级到8.0及以下,但这种方法会错过PHP新版本的安全更新和特性,不建议长期使用。
方法三:升级到CodeIgniter 4(长期方案)
如果项目有重构计划,建议升级到CodeIgniter 4,它完全兼容PHP 8.x版本,并且有更多新特性和更好的性能。
内容的提问来源于stack exchange,提问作者CodeIgniter3
相关产品推荐
相关产品推荐

