如何更改phpEnv占用端口为其他未被占用的端口号?
- 内容介绍
- 文章标签
- 相关推荐
本文共计697个文字,预计阅读时间需要3分钟。
PHPEnv 启动失败、Apache 或 MySQL 显示红色(未启动),八成是配置问题。
查清楚哪个端口被谁占了
先确认问题根源,避免盲目修改:
- 打开命令提示符(管理员权限),运行
netstat -ano | findstr :80,看最后一列 PID;再用tasklist | findstr 1234(把 1234 换成你看到的 PID)查进程名 - 常见“真凶”:
System(其实是 HTTP.sys,PID 常为 4,不能直接杀)、Skype.exe、sqlservr.exe、vmware-hostd.exe - 如果 PID 是 4,说明系统级服务占了
80,这时改端口比关服务更安全
改 Apache 端口(对应 httpd.conf)
PHPEnv 的 Apache 配置文件路径通常是 PHPEvn\Apache\conf\httpd.conf,关键改两处:
- 搜
Listen 80,改成比如Listen 8081 - 搜
ServerName localhost:80,同步改成ServerName localhost:8081 - 如果用了虚拟主机,还要检查
<VirtualHost *:80>块,把里面的:80全换成新端口 - 保存后,在 PHPEnv 主界面点“重启 Apache”,不要只点“启动”
改 MySQL 端口(对应 my.ini)
MySQL 配置文件一般在 PHPEvn\MySQL\my.ini,重点改这一行:
立即学习“PHP免费学习笔记(深入)”;
- 找到
port=3306,改成比如port=3307 - 改完必须重启 MySQL 服务,否则 PHP 连不上——哪怕你只改了 PHP 的数据库配置,底层还是连不到旧端口
- 别忘了同步更新 PHP 项目里的数据库连接配置:ThinkPHP 要在
config/database.php里加'port' => 3307;Laravel 要改.env中的DB_PORT=3307
PHP-FPM 端口也得核对(www.conf)
如果你用的是 Nginx + PHP-FPM 模式(PHPEnv 支持切换),9000 端口也可能冲突:
- 配置文件路径一般是
PHPEvn\php\php-fpm.d\www.conf - 找
listen = 127.0.0.1:9000,改成listen = 127.0.0.1:9001 - 然后去 Nginx 的
server块里,把fastcgi_pass 127.0.0.1:9000也同步改成9001 - 改完要分别重启 PHP-FPM 和 Nginx,缺一不可
端口不是改完就完事——Apache 和 MySQL 的配置文件路径因 PHPEnv 版本和安装路径略有差异,务必确认你编辑的是当前启用版本对应的文件;改完不重启服务,等于没改。
本文共计697个文字,预计阅读时间需要3分钟。
PHPEnv 启动失败、Apache 或 MySQL 显示红色(未启动),八成是配置问题。
查清楚哪个端口被谁占了
先确认问题根源,避免盲目修改:
- 打开命令提示符(管理员权限),运行
netstat -ano | findstr :80,看最后一列 PID;再用tasklist | findstr 1234(把 1234 换成你看到的 PID)查进程名 - 常见“真凶”:
System(其实是 HTTP.sys,PID 常为 4,不能直接杀)、Skype.exe、sqlservr.exe、vmware-hostd.exe - 如果 PID 是 4,说明系统级服务占了
80,这时改端口比关服务更安全
改 Apache 端口(对应 httpd.conf)
PHPEnv 的 Apache 配置文件路径通常是 PHPEvn\Apache\conf\httpd.conf,关键改两处:
- 搜
Listen 80,改成比如Listen 8081 - 搜
ServerName localhost:80,同步改成ServerName localhost:8081 - 如果用了虚拟主机,还要检查
<VirtualHost *:80>块,把里面的:80全换成新端口 - 保存后,在 PHPEnv 主界面点“重启 Apache”,不要只点“启动”
改 MySQL 端口(对应 my.ini)
MySQL 配置文件一般在 PHPEvn\MySQL\my.ini,重点改这一行:
立即学习“PHP免费学习笔记(深入)”;
- 找到
port=3306,改成比如port=3307 - 改完必须重启 MySQL 服务,否则 PHP 连不上——哪怕你只改了 PHP 的数据库配置,底层还是连不到旧端口
- 别忘了同步更新 PHP 项目里的数据库连接配置:ThinkPHP 要在
config/database.php里加'port' => 3307;Laravel 要改.env中的DB_PORT=3307
PHP-FPM 端口也得核对(www.conf)
如果你用的是 Nginx + PHP-FPM 模式(PHPEnv 支持切换),9000 端口也可能冲突:
- 配置文件路径一般是
PHPEvn\php\php-fpm.d\www.conf - 找
listen = 127.0.0.1:9000,改成listen = 127.0.0.1:9001 - 然后去 Nginx 的
server块里,把fastcgi_pass 127.0.0.1:9000也同步改成9001 - 改完要分别重启 PHP-FPM 和 Nginx,缺一不可
端口不是改完就完事——Apache 和 MySQL 的配置文件路径因 PHPEnv 版本和安装路径略有差异,务必确认你编辑的是当前启用版本对应的文件;改完不重启服务,等于没改。

