web-dev-qa-db-ja.com

Windowsサービスとしてのphp-cgi.exe

PHPをサービスとして開始しようとしています。次のコマンドを実行します:

C:\Windows\system32>sc create PHPSERVER binpath= "C:\php\php-cgi.exe -b 127.0.0.1:9000" start= auto
[SC] CreateService SUCCESS

しかし、私が抱えている問題は、サービスマネージャーを開いてサービスを開始しようとすると、次のエラーが発生することです。

WindowsはローカルコンピューターでPHPSERVERサービスを開始できませんでした。

エラー1053:サービスが開始要求または制御要求にタイムリーに応答しませんでした。

これを修正する方法はありますか?それで機能しますか?

6
Get Off My Lawn

サービスラッパー をダウンロードします

コピーservice.exeあなたのwindows directory

場所:C:\ windows \

開いた command Prompt

次のコマンドを入力します

sc create PHP binPath= "service.exe \"C:\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\php\php.ini"" type= own start= auto error= ignore DisplayName= PHP

注:「php-cgi.exe」と「php.ini」の両方のパスを自分のパスに合わせて調整してください。

サービスをインストールしたら、次の方法でサービスを開始できます。

コマンドライン:

sc start PHP    // to start PHP service.

sc delete PHP   // to delete PHP service

sc stop PHP // to stop PHP service

OR

GUI:

実行時に「services.msc」と入力し、リストから「PHP」を見つけて右クリックし、「開始」を選択します。

10
Deva

さて、PHPのように開始すると、単に機能しません。 "php-cgi.exe"はネイティブのWindowsサービスではないため、開始しようとするとエラー1053が発生します。 この投稿 状況をより詳細に説明します。

しかし、あなたがやりたいのは、Nginxをサービスとして開始し、PHPを一緒にプルすることですよね?サードパーティの「サービスラッパー」が必要になります 説明どおり)ここ

2
CoreTech