CodeIgniter 3.1.12动态属性CI_URI::$config创建弃用错误修复方法
修复CodeIgniter 3.1.12中「Creation of dynamic property CI_URI::$config is deprecated」错误
这个错误是PHP 8.1及以上版本的特性导致的——PHP 8.1开始明确禁止动态创建类属性,而CodeIgniter 3.1.12的CI_URI类没有提前声明$config属性,代码运行时动态赋值就触发了这个弃用警告。
修复方法一:修改核心文件
- 定位到项目目录下的
system/core/URI.php文件 - 打开文件,在
class CI_URI的属性声明区域(类开头位置)添加一行代码:public $config; - 保存文件后重新运行项目,警告即可消失。
修复方法二:使用扩展类(不修改核心文件)
如果不想改动框架核心文件,推荐用自定义扩展类的方式:
- 在
application/core目录下创建MY_URI.php文件 - 写入以下代码:
<?php class MY_URI extends CI_URI { public $config; public function __construct() { parent::__construct(); } } - 确认
application/config/config.php中的$config['subclass_prefix']配置值为'MY_'(默认配置就是这个,无需额外修改)
内容的提问来源于stack exchange,提问作者auer fres
相关产品推荐
相关产品推荐

