yii2可在xampp上运行,但需确保php≥7.4(推荐8.2+)、启用mbstring/openssl/pdo_mysql/json/ctype/dom扩展,并配置date.timezone与display_errors=on,且修改后必须重启apache。

Yii2 能在 XAMPP 上跑,但默认配置大概率不满足要求——尤其 PHP 版本、扩展和时区设置这三项,最容易卡在 composer create-project 或首次访问时白屏/500 错误。
确认 PHP 版本是否 ≥ 7.4(Yii2.1 最低要求)
Yii2.1 要求 PHP ≥ 7.4,Yii2.0.48+ 也建议 ≥ 7.4;XAMPP 7.4 自带 PHP 7.4.33 可用,但 XAMPP 7.3 及更早版本的 PHP 7.3.x 已不支持。别只看 XAMPP 版本号,得查真实 PHP 版本:
- 启动 XAMPP 控制面板 → 点击
Shell→ 输入php -v,确认输出类似PHP 7.4.33或更高 - 若显示
PHP 7.3.33或更低,必须升级 XAMPP(推荐 XAMPP 8.2+,自带 PHP 8.2.12) - 注意:即使
php -v显示正确,也要检查 Apache 加载的是不是同一份 PHP —— 访问http://localhost/dashboard/phpinfo.php,比对Loaded Configuration File路径和PHP Version是否一致
检查并启用 Yii2 必需的 PHP 扩展
Yii2 运行依赖 mbstring、openssl、pdo_mysql(或 pdo_sqlite)、json、ctype、dom(用于 XML 解析,部分组件如 Gii 需要),缺一不可。XAMPP 默认未启用全部:
- 打开 XAMPP 控制面板 → Apache 行右侧
Config→ 选PHP (php.ini) - 搜索并取消注释以下行(删掉前面的分号
;):extension=mbstring、extension=openssl、extension=pdo_mysql、extension=json、extension=ctype、extension=dom - 确认
extension_dir指向正确路径,例如 Windows 下是C:\xampp\php\ext,macOS 下类似/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20220829/ - 保存后必须重启 Apache,否则扩展不生效
验证时区与错误报告设置(避免白屏却无日志)
Yii2 对时区敏感,且默认关闭错误显示。若 index.php 打开空白,大概率是 PHP 报错被静默吞掉,或时区未设导致 date_default_timezone_set() 失败:
- 在
php.ini中确认存在并启用:date.timezone = "Asia/Shanghai"(按实际地区调整,不能留空或写错格式) - 确保以下两项开启:
display_errors = On、error_reporting = E_ALL(开发阶段必须,上线前再关) - 修改后重启 Apache,并访问
http://localhost/dashboard/phpinfo.php搜索date.timezone和display_errors,确认值已更新 - 若仍白屏,直接查看 Apache 错误日志:
C:\xampp\apache\logs\error.log(Windows)或/Applications/XAMPP/xamppfiles/logs/error_log(macOS),关键词如timezone、undefined function、Class not found
真正卡住的点往往不是“装不上”,而是 PHP CLI 和 Apache 加载的 php.ini 不是同一个文件,或者改完没重启服务——这两个动作漏掉任何一个,都会让所有后续操作失效。











