phpstudy启动失败主因是80或3306端口被system、iis、sql server等占用;应先用netstat和tasklist定位pid,再通过netsh http delete urlacl释放system保留的80端口,或修改phpstudy端口为8080/3307并重启服务。

PhpStudy 启动失败,常因系统级进程(如 System、SQL Server、IIS)占用了 80 或 3306 端口。直接“关闭系统占用”不可行,但可通过识别、绕过或释放方式让 PHP 服务正常重启。关键不是强制杀掉 System 进程,而是精准定位并合理处置。
查清哪个进程真正在用端口
Windows 下执行两步命令即可定位:
-
查 80 端口:打开 CMD,运行
netstat -ano | findstr :80,记下最后一列的 PID(比如 4) -
查 PID 对应程序:运行
tasklist | findstr "4"(把 4 换成你看到的 PID),若显示System,说明是 Windows 系统保留端口机制在起作用(常见于 Win10/11 的 HTTP.sys 驱动)
释放被 System 占用的 80 端口(安全有效)
System 占用 80 端口通常不是恶意行为,而是系统启用了“HTTP 保留”功能(如 IIS Express、Web Deploy、Skype 等曾注册过 URL)。可清除保留项:
- 以管理员身份运行 CMD,执行:
netsh http show urlacl查看所有保留地址 - 若发现类似
http://+:80/或http://localhost:80/的条目,用命令删除:netsh http delete urlacl url=http://+:80/ - 再执行一次
netstat -ano | findstr :80,确认 PID 不再是 4,或已无输出
修改 PhpStudy 端口配置并重启服务
即使清理成功,也建议为长期稳定开发切换非默认端口:
- PhpStudy 主界面 → 右下角「其他选项菜单」→「站点域名管理」→ 编辑默认站点,把「端口」从 80 改为 8080(或其他未被占用的端口,如 8000、8081)
- 同时进入「PHPStudy 设置」→「端口常规设置」→ 将 Apache 端口同步改为相同值
- 保存后,点击「重启全部服务」;Apache 状态灯变绿即生效,访问
http://localhost:8080即可
MySQL 3306 被占?同样逻辑处理
若 MySQL 启动失败且提示 3306 被占,操作类似:
- 查占用:
netstat -ano | findstr :3306→ 找 PID →tasklist | findstr "PID" - 常见占用者:系统自带 MySQL 服务、Docker 容器、Navicat 后台、甚至旧版 PhpStudy 未彻底卸载的服务
- 解决方式二选一:停掉冲突服务(服务管理器中禁用 MySQL80、MySQL57 等)或改 PhpStudy 的 MySQL 端口(「站点域名管理」里改 MySQL 端口,并同步修改
my.ini中的port=3307)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











