您现在的位置: 365建站网 > 365文章 > phpnow 卸载的方法有哪些?停止服务、删除残留服务与端口清理顺序

phpnow 卸载的方法有哪些?停止服务、删除残留服务与端口清理顺序

文章来源:365jz.com 点击数:11 更新时间:2025-03-13 21:24

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

phpnow 卸载与残留清理

一、先停服务,再谈删除

直接删目录会留下运行中的服务。正确的第一步是停掉它启动的所有进程:

  1. 打开 phpnow 面板,逐个点“停止”;
  2. 检查进程:tasklist | findstr /i "httpd mysqld php-cgi php now";
  3. 有残留就结束: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/(或 Apache DocumentRoot 指向的位置)与 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建站器 »