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

排查Yii项目中「Class 'CMap' not found」错误

解决旧版Yii项目搭建时CMap类找不到的错误
  • 检查入口文件的框架引入路径
    旧版Yii 1.x的核心类依赖入口文件手动引入框架核心,打开项目的web入口index.php或控制台入口yiic.php,确认是否正确引入了Yii框架文件:

    require_once(dirname(__FILE__) . '/framework/yii.php');
    

    验证framework目录的实际路径是否和代码中一致,比如你的项目在C:\laragon\www\yii,那么framework目录应该存在于该路径下,且yii.php文件正常可读。

  • 确认Yii框架文件完整性
    检查framework/collections/CMap.php文件是否存在,若该文件缺失,说明Yii框架包不完整。重新下载对应版本的Yii 1.x框架包,替换项目中的framework目录。

  • 配置Yii的类导入规则
    在项目的config/main.php(web环境)或config/console.php(控制台环境)中,确保import数组包含system.collections.*,让Yii自动加载集合类:

    'import' => array(
        'system.collections.*',
        // 其他必要的导入项
    ),
    
  • 调整composer自动加载的引入顺序
    若项目同时使用composer,确保在入口文件中先引入Yii核心文件,再引入composer的自动加载文件,避免Yii的自动加载机制被覆盖:

    // 先加载Yii核心
    require_once(dirname(__FILE__) . '/framework/yii.php');
    // 再加载composer依赖
    require_once(dirname(__FILE__) . '/vendor/autoload.php');
    
  • 清除缓存
    重启Laragon服务,同时检查PHP是否开启了opcache,若开启可临时关闭(修改php.ini中的opcache.enable=0),避免旧的类加载缓存导致问题。

内容的提问来源于stack exchange,提问作者kaushalya senarathna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:45:11