yii1.1和yii2.0.55均因兼容性问题无法通过现代composer正常安装:yii1.1不支持composer 2.x且已下架;yii2.0.55需降级php至8.1.29、启用必要扩展、用asset-packagist替代废弃插件、配置github token并禁用post-install脚本。

Yii1.1项目已停止维护,无法通过现代Composer(2.x)正常安装;Yii2.0.55虽属2.0.x最后稳定版,但因PHP 8.2+兼容性缺失、asset插件废弃、GitHub API限流等叠加问题,执行composer create-project会直接中断或卡死在依赖解析阶段。
确认PHP版本与扩展是否满足硬性要求
Yii1.1最低支持PHP 5.2,但Composer 2.x强制要求PHP ≥ 7.2——二者根本冲突。Yii2.0.55官方标注支持PHP 7.4–8.1,实际在PHP 8.2.0及以上版本中会触发Deprecated: strlen(): Passing null to parameter #1并静默终止安装。
执行php -v确认版本:若输出为PHP 8.2.5或更高,必须降级至PHP 8.1.29(最后一个无致命警告的8.1小版本)。
运行php -m | grep -E "mbstring|openssl|pdo_mysql|curl",缺任一模块则create-project必然报Your requirements could not be resolved,此时需编辑php.ini启用对应extension并重启终端。
绕过fxp/composer-asset-plugin彻底失效问题
Yii2.0.55仍依赖Bower包(如jquery、bootstrap),而fxp/composer-asset-plugin自2021年起已停止维护,Composer 2.2+默认拒绝加载其任何版本。强行global require fxp/composer-asset-plugin会返回Package fxp/composer-asset-plugin is abandoned且后续所有操作失败。
方法一:改用asset-packagist替代方案
执行composer config -g repositories.asset-packagist composer https://asset-packagist.org,此镜像已将Bower/NPM包转为标准Composer包,无需插件即可解析bower-asset/jquery等依赖。
方法二:手动替换composer.json中的asset源(仅适用于已有项目)
打开项目根目录composer.json,删除"fxp/composer-asset-plugin"相关配置;将原"repositories"数组中指向https://bower.herokuapp.com的条目,替换为{"type": "composer", "url": "https://asset-packagist.org"}。
跳过GitHub认证与API限流导致的卡死
Yii2.0.55模板在install过程中会尝试访问GitHub API拉取yiisoft/yii2-auth-client等子模块,国内IP常被限流,表现为命令长时间停在Loading composer repositories无响应。
第一步:生成Personal Access Token
访问https://github.com/settings/tokens/new → Description填yii2-install → 勾选public_repo和read:packages → 点击Generate token → 复制生成的40位字符串。
第二步:注入token到全局配置
执行composer config -g github-oauth.github.com <strong>【你的40位token】</strong>,这一步必须在create-project前完成,否则仍会卡住。
第三步:禁用post-install脚本避免网络敏感操作
运行composer create-project --no-scripts --prefer-dist yiisoft/yii2-app-basic myapp 2.0.55,装完后进目录执行php init补全cookie key和环境配置。
处理Yii1.1项目无法安装的现实路径
Yii1.1项目完全不兼容Composer 2.x,composer create-project yiisoft/yii会返回Could not find package yiisoft/yii——因为该包已在Packagist下架,仅存于历史归档。
唯一可行路径:放弃Composer,直接下载官方归档包
前往https://github.com/yiisoft/yii/releases/tag/1.1.26(最后一个正式版)→ 下载yii_1.1.26.zip → 解压后手动配置index.php中的YII_PATH指向framework目录。
【注意】解压后必须修改protected/config/main.php中的'components' => ['db' => [...]]数据库配置,否则首次访问即500错误;且不能执行任何composer update,否则框架文件会被覆盖破坏。











