phpenv中apache监听8888端口需修改httpd.conf的listen 8888和servername localhost:8888并重启服务;mysql不可设为8888,应改用3307等非http端口并同步更新php连接代码。

phpEnv 启动 Apache 时怎么监听 8888 端口
直接改 httpd.conf 里的 Listen 和 ServerName 就行,不需要装插件或重启系统。phpEnv 底层就是 Apache,端口配置完全遵循 Apache 原生规则。
常见错误是只改了 Listen 80 却漏掉 ServerName 后面的端口号,导致访问 http://localhost:8888 时页面空白或跳转回 80 端口。
- 用管理员权限打开
D:\phpEnv\Apache\conf\httpd.conf - 找到
Listen 80,改成Listen 8888 - 找到
ServerName localhost:80,改成ServerName localhost:8888 - 保存文件,右键托盘图标 → Apache → Restart
- 浏览器访问
http://localhost:8888(必须带端口号)
phpEnv 下 MySQL 怎么同步切到 8888 端口
MySQL 不支持 HTTP 端口,它用的是 TCP 端口(默认 3306),和 Apache 的 8888 没关系。你不能、也不该把 MySQL 改成 8888 —— 那会导致 PHP 连不上数据库。
如果你看到“MySQL 启动后停止”且日志里有 Address already in use,说明 3306 被占了,这时应换一个**非 HTTP 常用端口**,比如 3307、3308,而不是硬塞 8888。
- 编辑
D:\phpEnv\MySQL\my.ini - 找到
port=3306,改成port=3307(别用 8888) - PHP 代码里连库也要同步改:比如
PDO构造函数中port=3307,或mysqli_connect('127.0.0.1', 'root', '', 'test', 3307) - 重启 MySQL 服务(托盘图标 → MySQL → Restart)
phpEnv 切换端口后为什么浏览器打不开?
八成是 Windows 防火墙拦了入站连接,尤其是你用局域网其他设备访问 http://本机IP:8888 时必现。
Apache 自己跑起来了,netstat -ano | findstr :8888 能看到 LISTENING,但外部访问失败——基本就是防火墙没放行。
- 按
Win + R输入firewall.cpl打开防火墙设置 - 左侧点“高级安全 Windows Defender 防火墙”,右侧点“入站规则” → “新建规则…”
- 选“端口” → TCP → 特定本地端口填
8888→ 允许连接 → 勾选“域”“专用”“公用”全部网络类型 - 规则名称写
phpEnv-Apache-8888方便识别
想同时跑多个 PHP 项目,每个用不同端口怎么办
phpEnv 本身不支持“一键开多个 Apache 实例”,它只有一个 Apache 进程。真要多端口并行,别折腾 phpEnv 的 Apache,改用 PHP 内置服务器更轻量、更可靠。
比如你在三个项目目录下分别执行:
php -S localhost:8888 -t ./public php -S localhost:8889 -t ./web php -S localhost:8890
每个命令独占一个终端,互不干扰,也不影响 phpEnv 主服务。适合 Laravel、ThinkPHP 等框架的快速调试。
注意:php -S 是 PHP 自带功能,只要 phpEnv 安装的 PHP 版本能被命令行调用(即 php --version 有输出),就能用,不用动任何配置文件。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











