phpnow 卸载的方法有哪些?停止服务、删除残留服务与端口清理顺序
phpnow 是国内老牌的一键 PHP 集成环境(PHP + MySQL + Apache/Nginx + phpMyAdmin),早期做本地开发的人几乎都用过。但它是绿色免安装设计,卸载时不会走控制面板,很多人删了目录却发现 MySQL 服务还留在系统里、端口还被占着。本文给出彻底清理的顺序。

一、先停服务,再谈删除
直接删目录会留下运行中的服务。正确的第一步是停掉它启动的所有进程:
- 打开 phpnow 面板,逐个点“停止”;
- 检查进程:
tasklist | findstr /i "httpd mysqld php-cgi php now"; - 有残留就结束:
taskkill /F /IM httpd.exe、taskkill /F /IM mysqld.exe、taskkill /F /IM php-cgi.exe。
如果 phpnow 当年把 Apache/MySQL 安装成了 Windows 服务(面板里的“安装服务/注册为服务”选项),删目录前必须先卸载服务,否则服务项永久残留:
sc query type= service state= all | findstr /i "mysql apache httpd phpnow" sc delete MySQL57 sc delete Apache2.4 # 或用安装程序自带的卸载参数 httpd.exe -k uninstall -n "Apache2.4" mysqld.exe --remove MySQL57
查看服务还可以直接 Win+R → services.msc,在服务列表里确认状态为“已停止”再删。
二、删目录与配置残留
- 主目录:phpnow 安装位置(常见
D:\phpnow),整目录删除即可,它是绿色的; - 网站数据要单独备份:
phpnow/htdocs/(或 ApacheDocumentRoot指向的位置)与phpnow/mysql/data/,删前mysqldump -u root -p --all-databases > alldb.sql; - 环境变量 PATH 里若加过 php 目录:
sysdm.cpl → 高级 → 环境变量,删掉对应条目; - 右键菜单“用 phpnow 打开”一类的注册表关联:
regedit定位HKEY_CLASSES_ROOT\Directory\shell下相关项删除; %APPDATA%、%TEMP%下的 phpnow 配置与缓存可一并清理。
三、端口与残留监听
卸载后仍想装新环境,最容易撞上 80/3306 被占。检查命令:
netstat -ano | findstr ":80 " netstat -ano | findstr ":3306 " tasklist /fi "PID eq 那个PID"
拿到 PID 后决定是结束进程还是改端口。System (PID 4) 占用 80 多半是 IIS 的 HTTP.sys 或 Skype,处理方式完全不同。卸载 phpnow 后如果 mysqld 进程仍在,说明它是作为服务被自动拉起的,回到第一步用 sc delete。
四、为什么不建议继续用 phpnow
phpnow 的更新早已停滞,捆绑的 PHP 版本普遍是 5.x/7.0 早期,缺少对 imagejpeg 之外新扩展的支持,也拿不到安全补丁。现代替代方案:
- Laragon(Windows,绿色,可自定义版本);
- phpStudy(小皮)新版本,仍在维护;
- Docker + docker-compose(
php:8.3-fpm+nginx+mysql:8),最贴近线上环境; - WSL2 里直接装 apt 版 LAMP,性能与一致性都不错。
迁移时注意 PHP 大版本差异:phpnow 时代常见 mysql_* 函数与 register_globals 相关写法,在 PHP 7+ 里已彻底移除,必须改成 mysqli_* 或 PDO。
五、常见问题 FAQ
问:删了 phpnow 目录,MySQL 密码忘了怎么办?
答:如果 data 目录也删了就没有找回可能,直接卸服务重装。想保留数据,用 --skip-grant-tables 启动临时实例改密的办法只适用于服务还在的情况。
问:控制面板里点“卸载”没反应?
答:phpnow 本就没有真正的卸载程序,那个按钮只清快捷方式。按本文顺序手工清理才彻底。
问:重装后 Apache 起不来,报 “Could not reliably determine the server's fully qualified domain name”
答:那只是 warning 不是致命错误。真正常见原因是 80 端口占用或 httpd.conf 里 LoadModule 指向了已删除的旧路径,用 httpd -t 检查配置语法即可定位。
总结:phpnow 卸载的关键不在删文件夹,而在“服务是否还注册着、进程是否还在跑、端口是否还被占”。把这三点清干净,新环境才能顺利装上。
生产内容,同时打通搜索引擎(SEO)与AI搜索引擎(GEO)流量入口的软件! 点击进入365建站器 »
