windows10 安装php-cgi.exe为服务

1.下载WinSW工具

    Releases · winsw/winsw · GitHub

 (下载 .exe 文件即可,根据系统选择,Win 10 选择 .NET4 版本,以下选择 .NET2 版本)

2.下载xxfpm,用来开启 php-cgi 多进程

    https://codeload.github.com/78/xxfpm/zip/master

3.安装php-cgi为服务

将下载到的WinSW.NET4.exe更名为php-cgi-service.exe

放到php-cgi.exe所在的目录下,在该目录下新增文件 

php-cgi-service.xml,修改php-cgi-service.xml配置如下:

<service>
    
    <id>php-cgi</id>
    
    <name>php-cgi</name>
    
    <description>php-cgi</description>

    <executable>xxfpm.exe</executable>
    <startargument>"D:/php/php-cgi.exe -c D:/php/php.ini"    </startargument>
    
    <startargument>-n</startargument>
 
    <startargument>1</startargument>
    
    <startargument>-i</startargument>

    <startargument>127.0.0.1</startargument>

    <startargument>-p</startargument>

    <startargument>9000</startargument>

    <stopexecutable>taskkill</stopexecutable>
    <stopargument>/F</stopargument>
    <stopargument>/IM</stopargument>
 
    <stopargument>xxfpm.exe</stopargument>
    <logpath>logs</logpath>

</service>

5.使用管理员权限打开CMD执行

php-cgi-service.exe install,即可生成windows服务

# 开启php-cgi服务
net start php-cgi

<think>好的,我现在需要处理用户关于“sc create php-cgi.exe”的问题。首先,用户可能是在尝试创建一个Windows服务,使用sc命令来将php-cgi.exe注册为服务。但需要确认他们的具体需求和环境。 首先,我应该回忆一下sc命令的用法。sc create是用来创建服务的命令,基本语法是:sc create [服务名] binPath= "路径" 其他参数。用户可能直接运行了类似“sc create php-cgi.exe”的命令,但缺少了必要的参数,比如binPath,这样会导致错误。 接下来,需要考虑到php-cgi.exe本身是否适合作为服务运行。通常,php-cgi是一个FastCGI进程管理器,可能不是作为服务设计的,直接注册可能会导致问题,比如无法正确启动或者没有交互界面。这时候可能需要使用其他工具,比如srvstart或者NSSM(Non-Sucking Service Manager)来包装它,使其作为服务运行。 然后,用户可能遇到的常见错误有哪些?比如,路径中的空格需要用引号括起来,等号后面的空格必须保留,这些语法细节容易出错。例如,正确的命令应该是sc create PHP-CGI binPath= "\"C:\php\php-cgi.exe\" -b 127.0.0.1:9000" start= auto,这里要注意转义引号和参数的位置。 另外,需要提醒用户关于账户权限的问题,如果服务需要特定用户权限,需要配置obj=参数。还有,依赖项的问题,如果服务依赖于其他服务,可以用depend=参数。 最后,应该给出一个完整的示例,并建议使用NSSM来简化流程,避免手动配置带来的问题。同时,强调错误处理,比如查看服务启动失败的原因可以通过事件查看器或者sc qc命令来检查配置。</think>以下是对命令 `sc create php-cgi.exe` 的逐步解析与建议: --- ### 1. **命令意图分析** `sc create` 是 Windows 中用于创建系统服务的命令。用户可能希望将 `php-cgi.exe` 注册为后台服务,以便随系统启动或长期运行。 --- ### 2. **基础语法** 完整命令语法应为: ```cmd sc create [服务名] binPath= "可执行文件路径" [其他参数] ``` - **服务名**:自定义服务名称(如 `PHPFastCGI`),**不能直接使用 `php-cgi.exe`**,需避免与系统进程混淆。 - **binPath=**:指定可执行文件路径,**等号后必须保留空格**。 --- ### 3. **常见错误与注意事项** #### 错误1:缺少必要参数 直接运行 `sc create php-cgi.exe` 会报错,因缺少 `binPath`。 **修正示例**: ```cmd sc create PHPFastCGI binPath= "\"C:\php\php-cgi.exe\" -b 127.0.0.1:9000" start= auto ``` - 路径含空格需用转义引号 `\"` 包裹。 - `-b 127.0.0.1:9000` 是 PHP-CGI 的 FastCGI 监听参数。 #### 错误2:服务启动失败 PHP-CGI 默认非服务程序,运行时可能立即退出。需借助工具封装: - **推荐工具**:使用 `nssm`([Non-Sucking Service Manager](https://nssm.cc/))简化配置: ```cmd nssm install PHPFastCGI "C:\php\php-cgi.exe" -b 127.0.0.1:9000 ``` --- ### 4. **完整参数示例** ```cmd sc create PHPFastCGI binPath= "\"C:\php\php-cgi.exe\" -b 127.0.0.1:9000" start= auto obj= "NT AUTHORITY\LocalService" depend= TCPIP ``` - `start= auto`:开机自动启动。 - `obj= "NT AUTHORITY\LocalService"`:指定低权限账户运行。 - `depend= TCPIP`:声明依赖 TCP/IP 服务--- ### 5. **验证与调试** - 检查服务状态: ```cmd sc query PHPFastCGI ``` - 查看失败原因: ```cmd sc qc PHPFastCGI # 检查配置 eventvwr.msc # 事件查看器 → Windows日志 → 系统 ``` --- ### 总结 建议优先使用 `nssm` 管理 PHP-CGI 服务,避免手动配置的复杂性。若需直接使用 `sc`,务必注意参数格式和路径转义。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值