要本地快速运行 yii2.0.55,需用 composer create-project 指定版本安装、配置 apache 虚拟主机指向 web/ 目录、修改 hosts 文件绑定域名,并在 index.php 和 web.php 中正确启用 gii 模块且设置 allowedips。

要在本地快速跑起 Yii2.0.55 这个特定稳定版本,必须绕过 Composer 默认拉取最新版的机制,同时确保 XAMPP 的 PHP 版本兼容(需 ≥7.4)、Apache 正确指向 web/ 子目录、且 Gii 模块能安全启用——任何一步偏差都会导致 403、500 或 Gii 404。
安装并锁定 Yii2.0.55 版本
打开命令行,切换到 XAMPP 的 htdocs 目录(如 C:/xampp/htdocs),执行:
composer create-project --prefer-dist yiisoft/yii2-app-basic myproject 2.0.55
这会强制安装精确版本号为 2.0.55 的 basic 模板,而非默认的最新版。若提示缺少 fxp/composer-asset-plugin,请先运行 composer global require "fxp/composer-asset-plugin:^1.4.6"(注意:^1.4.6 兼容 PHP 8.x,低于此版本在高 PHP 版本下会报错)。
安装完成后,进入 myproject 目录,确认 composer.json 中的 "yiisoft/yii2": "~2.0.55" 已写死,防止后续 update 升级。
配置 Apache DocumentRoot 指向 web/ 子目录
直接把项目丢进 htdocs 然后访问 /myproject/web/index.php 是危险操作——config/ 目录可被下载,runtime/ 权限失控,URL 重写失效。
编辑 C:/xampp/apache/conf/extra/httpd-vhosts.conf,追加以下虚拟主机配置:
DocumentRoot "C:/xampp/htdocs/myproject/web"
ServerName yii2055.test
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
DocumentRoot 和 Directory 必须完全一致,且结尾不能带斜杠。Windows 下路径务必用正斜杠 /,禁用单反斜杠 \(否则 Apache 解析为转义符,触发 500 错误)。
接着修改系统 hosts 文件(C:\Windows\System32\drivers\etc\hosts),添加一行:
127.0.0.1 yii2055.test
重启 Apache 服务,浏览器访问 http://yii2055.test,看到绿色对勾页面即成功。
启用 Gii 并设置 IP 白名单
Gii 在 Yii2.0.55 中默认只在 YII_ENV_DEV 环境下加载,且必须在 autoload 前定义环境变量,否则模块根本不会注册——你会遇到 “Class 'gii' not found” 或 assets 目录报错。
第一步:打开 myproject/web/index.php,在 require __DIR__ . '/../vendor/autoload.php'; 这一行之前插入:
defined('YII_ENV') or define('YII_ENV', 'dev');
第二步:打开 myproject/config/web.php,找到 'bootstrap' => ['log'] 行,在其后添加:
'bootstrap' => ['log', 'gii'],
'modules' => [
'gii' => [
'class' => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1', '::1', '192.168.*.*'],
],
],
注意:allowedIPs 必须显式声明,Yii2.0.55 默认值是 ['127.0.0.1', '::1'],但某些新版 XAMPP 的 IPv6 回环行为不稳定,务必加上 '192.168.*.*' 防止本地调试时 Gii 打不开。
保存后,访问 http://yii2055.test/gii,输入默认账号密码(admin/admin)即可进入代码生成器。










