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

CodeIgniter安装报错求助:动态属性CI_URI::$config已弃用

解决CodeIgniter中"Creation of dynamic property CI_URI::$config is deprecated"报错

问题详情

A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_URI::$config is deprecated
Filename: core/URI.php
Line Number: 102
Backtrace:
File: C:\xampp\htdocs\ci3\index.php
Line: 315
Function: require_once

原因分析

PHP 8.2及以上版本已禁止动态创建类属性,而CodeIgniter 3.x核心文件URI.php中直接给CI_URI类动态添加$config属性,违反了新版本PHP的规范,因此触发该警告。

解决方案

方法1:修改CI_URI类定义(推荐)

  1. 若application/core目录下没有URI.php,先从system/core/URI.php复制一份到该目录
  2. 打开application/core/URI.php,在CI_URI类的属性声明区域添加public $config;:
class CI_URI {
    public $config; // 新增属性声明
    // 类内原有属性...

    public function __construct() {
        // 原有代码保留
        $this->config =& get_config();
    }
}

提前声明属性后,PHP将不再抛出动态属性创建的警告。

方法2:降级PHP版本

将PHP版本降至8.1及以下,可避开该警告,但不推荐长期使用——旧版本PHP会逐步停止安全维护。

方法3:临时屏蔽警告

在项目根目录的index.php开头添加代码,屏蔽8192级别的 deprecation 警告:

error_reporting(E_ALL & ~E_DEPRECATED);

此方法仅隐藏警告,未从根源解决问题,适合临时测试场景。


内容的提问来源于stack exchange,提问作者Sneha M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:31:02