phpEnv 的 MySQL 配置文件是 my.ini,位于安装目录的 mysql\bin\ 或 mysql\conf\ 子目录下,如 D:\phpEnv\mysql\bin\my.ini;需用 phpEnv 控制台重启 MySQL 服务才生效,且仅影响未显式指定 ENGINE 的 CREATE TABLE 语句。

phpEnv 默认用 InnoDB,改默认引擎不是改 PHP 配置,而是改它底层 MySQL 的 my.cnf —— 改错位置或不重启,100% 不生效。
怎么找到 phpEnv 的 MySQL 配置文件?
phpEnv 是 Windows 下的便携式 PHP 环境,MySQL 配置通常不在标准路径,得手动找:
- 打开 phpEnv 安装目录(比如
D:\phpEnv),进mysql\bin\或mysql\conf\子目录,找my.ini(不是my.cnf) - 如果没找到,用文件搜索:在 phpEnv 根目录下搜
my.ini,优先看修改时间最新的那个 - 常见路径示例:
D:\phpEnv\mysql\bin\my.ini、D:\phpEnv\mysql\conf\my.ini - 别去系统盘
C:\ProgramData\MySQL找——那是官方安装版的位置,和 phpEnv 无关
改配置前必须确认引擎是否可用
直接改 default-storage-engine 但引擎本身被禁用,会启动失败。先连上 MySQL 执行:
mysql -u root -p -e "SHOW ENGINES;"
重点看输出里 MyISAM 或 InnoDB 对应的 Support 列:
立即学习“PHP免费学习笔记(深入)”;
-
YES:可直接用 -
DISABLED:编译时关闭了,phpEnv 版本太老或定制过,换新版 phpEnv 更省事 -
NO:彻底不支持,别折腾
MySQL 8.0+ 的 phpEnv 包基本已移除 MyISAM 支持,强行设 default-storage-engine = MyISAM 会导致服务无法启动。
改完配置必须重启 MySQL 服务
phpEnv 自带控制台,不要用 Windows 服务管理器——它压根没注册服务:
- 关闭 phpEnv 主界面
- 重新打开 phpEnv,点【MySQL】→【Restart】(有些版本叫【Reboot MySQL】)
- 等状态栏显示 MySQL 已运行,再验证
- 验证命令:
mysql -u root -p -e "SHOW VARIABLES LIKE 'default_storage_engine';",返回值必须是你设的引擎名
只改配置不重启,或者只点【Stop】没点【Start】,都等于白改。
PHP 代码里显式指定 ENGINE 会覆盖默认设置
哪怕你把默认引擎设成 MyISAM,只要 PHP 里执行了类似下面的语句,建出来的表还是 InnoDB:
CREATE TABLE users (id INT) ENGINE=InnoDB;
更隐蔽的是 ORM 或框架迁移文件,比如 Laravel 的 Schema::create() 默认加 ->engine('InnoDB'),ThinkPHP 的 Db::execute() 传参里也可能硬编码了引擎。这类情况改 MySQL 默认值完全无效。
真正需要改默认引擎的场景极少,多数是历史项目兼容或本地调试;新项目无理由不用 InnoDB —— MyISAM 在 phpEnv 的新版本里越来越像一个“能跑但不该用”的遗留选项。



















