phpEnv升级会覆盖php、apache、nginx、mysql/bin等运行时组件,但默认保留mysql/data(数据库文件)、www/(网站文件)和php/ext/(扩展)目录;需手动备份这三处以防丢失。

phpEnv 升级本身不触碰用户数据,但“无损”不是默认结果——它取决于你是否手动保护了关键路径。
升级前不备份 www、mysql/data 和 php/ext 这三个目录,就等于把数据库、网站文件和自定义扩展全交给运气。
哪些数据会被 phpEnv 升级覆盖?
phpEnv 的升级机制是「替换整个安装目录」,也就是说:phpEnv 根目录下的 php、apache、nginx、mysql/bin 等运行时组件会被新版本完全覆盖;但只要没动过配置,mysql/data 目录(含所有数据库文件)默认保留在原位置,不会被删。
-
www/:你的全部网站文件,不在升级路径内,但如果你把项目放在phpEnv安装目录下(比如D:\phpEnv\www\myapp),而升级时选了「清理旧版」或手动删了整个文件夹,那就没了 -
mysql/data/:真实数据所在。只要没勾选「重置 MySQL 数据目录」或手动删过该目录,InnoDB 表空间(ibdata1、.ibd)和 MyISAM 的.MYD/.MYI都还在原处 -
php/ext/:第三方扩展(如php_redis.dll)需手动迁移。新版php目录里没有旧扩展,直接启动会报PHP Warning: PHP Startup: Unable to load dynamic library -
php/php.ini和mysql/my.ini:升级后是全新配置文件,原有修改(如upload_max_filesize、max_connections)全部丢失
升级前必须手动备份的 3 个路径
别信「自动迁移」或「兼容模式」——phpEnv 没这功能。只做这三件事,5 分钟搞定:
- 复制整个
www目录到其他盘(比如E:\backup\phpEnv_www),不要留在phpEnv安装盘根目录下 - 停止 MySQL 服务后,压缩备份
mysql\data全目录(注意不是只备份mysql\data\mysql或test库) - 导出当前生效的配置:用命令行执行
php --ini找到加载的php.ini路径,另存为php.ini.backup;同理对mysql --help --verbose | findstr "Default options"定位my.ini
升级后恢复失败的常见原因
很多人升完发现网站打不开、数据库连不上,问题往往出在这些细节上:
立即学习“PHP免费学习笔记(深入)”;
- MySQL 启动失败,报错
Can't start server: Bind on TCP/IP port. Got error: 10048:旧版my.ini里写的端口(如3307)被新版默认占用了,要改回或统一端口 - PHP 报
Class 'Redis' not found:扩展 DLL 文件没拷进新php\ext\,且php.ini里extension=php_redis.dll这行指向的还是旧路径 - 网站 500 错误,日志写
Failed to open stream: No such file or directory in ...:因为www目录被升级脚本误删(尤其当它和phpEnv在同一级时),或 Apache 的DocumentRoot还指向旧路径 - phpMyAdmin 登录后空白:新版 PHP 可能禁用了
short_open_tag或移除了mcrypt扩展,而旧版 phpMyAdmin 依赖它们
最简验证流程:升级后 3 分钟确认数据完好
别急着开站,先跑通最小闭环:
- 用命令行启动 MySQL:
mysql\bin\mysqld --defaults-file=mysql\my.ini --console,看到ready for connections就说明数据目录可读 - 进 MySQL 执行
SHOW DATABASES;,确认你原来的库名都在;再选一个库USE your_db; SHOW TABLES;,看表结构是否完整 - 起 PHP 内置服务器:
php -S localhost:8000 -t www,访问http://localhost:8000/info.php(内容为<?php phpinfo(); ?>),确认 PHP 运行正常且扩展已加载
真正容易被忽略的,是 mysql/data 目录权限——Windows 上升级后常变成 SYSTEM 或 TrustedInstaller 所有者,导致新 MySQL 进程无法读写 .ibd 文件。遇到启动卡住,别反复重装,先右键目录 → 属性 → 安全 → 编辑 → 给 Administrators 和 SYSTEM 加上完全控制权。



















