PowerShell 可停止 PHP 服务,但需其已注册为 Windows 服务(如通过 sc create 或 NSSM);若未注册,则须用 Stop-Process 终止 php-cgi、php-fpm 等进程或停止宿主服务(如 Apache、IIS、Nginx)。

PowerShell 可以直接停止 PHP 服务,但前提是 PHP 是以 Windows 服务形式安装并注册的(例如通过 sc create 或第三方工具如 NSSM 部署)。默认情况下,PHP 本身不自带服务注册功能,需手动配置后才可被 Stop-Service 管理。
确认 PHP 是否已注册为系统服务
在管理员权限的 PowerShell 中运行:
Get-Service | Where-Object {$_.Name -like "*php*" -or $_.DisplayName -like "*php*"} | Format-Table Name, DisplayName, Status若返回结果为空,说明 PHP 未作为服务安装,此时无法用服务命令停止——应改用任务管理器或 Stop-Process 终止相关进程(如 php-cgi.exe、httpd.exe 或 nginx 中调用的 php-fpm 进程)。
停止已注册的 PHP 服务
如果上一步查到服务(例如服务名为 PHPService 或显示名为 PHP FastCGI Service),执行:
立即学习“PHP免费学习笔记(深入)”;
Stop-Service -Name "PHPService" -Force-Force 参数可强制终止依赖项,避免因服务依赖卡住而失败。停止后可用 Get-Service PHPService 验证状态是否变为 Stopped。
补充:若 PHP 是通过 Web 服务器托管的
常见情况是 PHP 由 Apache、Nginx 或 IIS 调用,此时它本身不是独立服务,而是子进程。应优先停止宿主服务:
- Apache:
Stop-Service -Name "Apache2.4"(服务名依实际安装而定) - IIS:
Stop-Service -Name "W3SVC"(万维网发布服务) - Nginx:Nginx 默认不注册为服务,若已注册,服务名常为
nginx或自定义名
停止宿主服务后,其调用的 PHP 进程通常会自动退出。
临时终止 PHP 相关进程(非服务方式)
当无法或无需使用服务管理时,可按进程名终止:
Get-Process | Where-Object {$_.ProcessName -like "php*"} | Stop-Process -Force该命令匹配所有以 php 开头的进程(如 php-cgi、php、php-fpm),适合开发环境快速清理。



















