phpEnv仅支持Discuz X2.5、X3.0、X3.1(需手动降级MySQL兼容模式);X3.2部分功能可运行但报mysql_connect()弃用警告;X3.4起彻底不兼容,因内置PHP最高5.6,而X3.5要求PHP≥7.1,Discuz Q则完全不支持。

phpEnv 不能直接运行 Discuz X3.5 及之后版本,因为其内置 PHP 最高只到 5.6,而 Discuz X3.5 要求 PHP ≥ 7.1;Discuz Q 则完全不兼容 phpEnv(依赖 Swoole、Redis、Composer 等)。
phpEnv 支持哪些 Discuz 版本
仅限老版本:Discuz X2.5、X3.0、X3.1(需手动降级 MySQL 兼容模式);X3.2 部分功能可跑但会报 Deprecated: mysql_connect() 类警告;X3.4 开始彻底无法安装——install/ 脚本在 PHP 5.6 下直接白屏或 500 错误。
- phpEnv 自带的
mysql扩展是废弃的,Discuz X3.2+ 默认启用mysqli或pdo_mysql,但 phpEnv 的php.ini中这两项默认未开启 - 其 Apache 模块为
mod_php,不支持php-fpm,导致 Discuz 后台「UCenter 通信」常失败(返回ERR_CONNECTION_REFUSED) - Windows 下 phpEnv 的
curl缺少 CA 证书路径配置,Discuz 安装时检测环境会卡在「检查远程连接」环节
若坚持用 phpEnv 跑 Discuz X3.1,必须改这三处
否则安装页面打不开、数据库连不上、或后台空白:
- 打开
X:\Server_Core\php\php.ini,取消注释并修正:extension=php_mysqli.dll、extension=php_openssl.dll、curl.cainfo="X:/Server_Core/php/cacert.pem"(需提前下载 cacert.pem 放入该目录) - Discuz 解压后,进
config/config_global.php,把$_config['db']['1']['dbcharset'] = 'utf8';改成'utf8mb4'(否则发 emoji 报错) - Apache 的
httpd.conf中,确保DocumentRoot指向X:/www/localhost,且对应<directory></directory>区块里有AllowOverride All(否则伪静态失效,URL 带index.php?)
Discuz 安装过程卡在「正在检测环境」怎么办
常见于 phpEnv 启动后未重载配置,或 Windows 防火墙拦截了本地 3306 端口:
立即学习“PHP免费学习笔记(深入)”;
- 先在命令行执行
netstat -ano | findstr :3306,确认mysqld.exe进程在运行;若没启动,去X:\Server_Core\MySQL\bin\手动双击mysqld.exe - 浏览器访问
http://localhost/phpmyadmin,用默认账号root/ 空密码登录,新建数据库时选utf8mb4_general_ci排序规则(不是utf8_general_ci) - 安装页填库信息时,
数据库服务器不要写localhost,改填127.0.0.1(phpEnv 的localhost解析有时走 IPv6) - 如果仍卡住,临时把
install/index.php第 32 行附近的curl_init()检查逻辑整段注释掉(仅测试用,上线前必须恢复)
Discuz 的兼容性陷阱不在表面报错,而在发帖后附件上传失败、搜索无结果、或者手机端接口返回空 JSON——这些往往源于 phpEnv 对 mbstring 或 fileinfo 扩展的静默禁用,而不是你看到的安装成功提示。



















