PHP-FPMのホームページhttp://php-fpm.org/は、PHP 5.3.3以降、PHPの一部であると記載しています。さて、私はphp.netから最新のPHPバイナリをダウンロードすると、そこにphp-fpmはありません。どうすれば入手できますか? Windowsでも利用できますか?Windowsの場合はphp-fpm?
答えて
PHP-FPMは現在Linuxでのみ利用可能です。 cygwinの下で、Windows上でphp-fpmを実行する方法についてのチュートリアルを提供するいくつかのサイトがあります。あなたはそれらのガイドを試すことができます。
FPM Server-API [SAPI]のサポートがPHPのコアPHPに統合されました。つまり、Apache SAPI [--enable-apx2
]の代わりに、PHPのソースコードを取得し、FPM-SAPI [--enable-fpm
構成パラメータ]サポートを使用してコンパイルしてビルドすることができます。 PHP-Wikiに示すように、* nixシステムとほぼ同じ方法でPHPを構築することができます。私はあなたが最初に* nixシステムでPHPを構築することを学び、あなた自身でそれをやろうとすることを提案します[通常configure
、make
とmake install
パターン]、Windows環境でビルドするために得た経験を活用してみてください。
--enable-fpm
設定パラメータに加えて、さらに2つのパラメータ、つまり--with-fpm-user=USERNAME_HERE
と--with-fpm-group=USERGROUPNAME_HERE
があります。これらの2つは* nix環境で動作しますが、Windowsでは使用できない可能性があります。
全体として、Visual Studio IDEを使用してWindows上に独自のPHP-FPMサーバーアプリケーションを構築することができます。この執筆時点で公式のPHP-FPMビルドはありません。
EDIT 1:このSAPIは* nix環境のlibevent
コンポーネントを使用しているため、WindowsでPHP-FPMを構築する可能性は間違っていると思います。あなたはあとでCygwin-bundled installationと固執しなければならないと思います。ここで
どうやらlibeventが持っているなどのSolaris、FreeBSDの、NetBSDのはMac OS X、OpenBSDの、上で働いていました[このページ](http://www.php.net/manual/en/install.fpm.install.php)のコメントに従って5.3.4から削除されました。 –
どのようにWindows上でのセットアップのphp-FPMをする:
http://windows.php.net/download/から.zipファイルをダウンロードしてください。 .zipファイルは、FastCGIファイル(php-cgi.exe)を持つVC9である必要があります。 VC6をダウンロードしないでください。また、.msiファイルをダウンロードしないでください。これは、php-fpmをインストールするためにIISセットアップが既に必要であるためです。 zipファイルには、php-fpmに必要なphp-cgi.exeが含まれています。私は若干古いバージョンのphp-5.3.10-Win32-VC9-x86.zipをここからhttp://windows.php.net/downloads/releases/archives/からダウンロードしました。これは、私のプロダクションサーバで実行されているバージョンと一致させたいからです。
ファイルを解凍します。 C:\ php-5.3.10-Win32-VC9-x86に解凍する
必要に応じてphp.iniファイルを編集します。私がやった:
# nginx security setting cgi.fix_pathinfo=0 extension_dir = "C:\php-5.3.10-Win32-VC9-x86\ext"
は、それらのコメントを外すことにより、以下のモジュールを有効にします。
extension=php_curl.dll extension=php_mbstring.dll extension=php_mysqli.dll
例えば、どこかの.batファイルを作成します。開始-PHP-fcgi.batをウェブサーバディレクトリまたはPHPのディレクトリに:
@ECHO OFF ECHO Starting PHP FastCGI... set PATH=C:\php-5.3.10-Win32-VC9-x86;%PATH% C:\php-5.3.10-Win32-VC9-x86\php-cgi.exe -b 127.0.0.1:9123 -c C:\php-5.3.10-Win32-VC9-x86\php.ini
ダブルのphp-FPMを起動する.batファイルをクリックしてください。ウィンドウがポップアップし、実行中に開いたままになります。その種類の迷惑な、しかしまだサービスとしてそれを設定するように見ていない。
は、Webサーバを設定します。あなたはnginxのとそれを使用したい場合は、ここでは127.0.0.1:9123のための設定例:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9123; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Derecksonの答えは素晴らしいスタートです。しかし、Apache 2.4以降では、PHP-FPMを別のサービスとして実行する必要はありません。mod_fcgidを使用すると、Apache内のすべてを処理できます。これはpost in Apache Loungeに基づいて、
LoadModule fcgid_module modules/mod_fcgid.so
FcgidInitialEnv PHPRC "c:/php"
FcgidInitialEnv PATH "c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
FcgidInitialEnv SystemRoot "C:/Windows"
FcgidInitialEnv SystemDrive "C:"
FcgidInitialEnv TEMP "C:/WINDOWS/Temp"
FcgidInitialEnv TMP "C:/WINDOWS/Temp"
FcgidInitialEnv windir "C:/WINDOWS"
FcgidIOTimeout 64
FcgidConnectTimeout 16
FcgidMaxRequestsPerProcess 500
<Files ~ "\.php$">
AddHandler fcgid-script .php
FcgidWrapper c:/php/php-cgi.exe .php
</Files>
注:ここ
が構成例です。それが役に立ちましたように、彼らのバージョンはc:/php/php-cgi.exeの引用符で囲まれています。もしそうなら、少なくともWindows Server 2012ではphp-cgi.exeは起動せず、HTTP 500を取得します。Took私はそれを理解するのに苦しい数日間。
親愛なるエリカ、私のために問題を隔離してくれてありがとう!私は数週間(断続的ではあるが)これを苦労していた。 –
非常に助けてうれしい。 :) –
それは質問への答えではありません。問題は、fpmがWindows上のどこにあるかということでした。 fpmを使用するための*代替*アプローチを提供しました。 – Kissaki
旧この記事は、どのようなここに掲載されていることはPHP-FPMではありませんので、私はここで比較検討する必要があるとして、それは、Fast-CGIを使用してPHPを実行しています。
はいPHP-FPMはPHP-FastCGI Process Managerを表しており、FastCGIを実装していますが、FPMにはWebサーバによって管理されていないプロセス管理機能が含まれているため、 * nixのシステムで
はPHP-FPMは、PHPの子プロセスを管理し、これらのプロセスの管理方法を指定するための詳細な構成を持つ別のプロセスがあります。これらの機能の詳細については、Windows上でCGIプロセスを起動
hereを読むために同じものではありません。ワーカープロセスを起動したり、動的にスケーリングしたり、マルチスレッドを許可したりすることはありません。
Windows用のPHP-FPMはまだありません。 http://php.net/manual/en/install.fpm.php#121725
しかし、お勧めのとおり、希望する場合はCGIプロセスを起動することができます。
- 1. (Windowsの場合)
- 2. コマンド(Windowsの場合)
- 3. C(Windowsの場合)
- 4. Linuxの場合はCOFF、Windowsの場合はELF
- 5. Windowsの改行(Windowsの場合)
- 6. デフォルトIMAGEBASE Windowsの場合
- 7. キー値データベースWindowsの場合?
- 8. iOS、Android、Windows Phoneの場合はリダイレクト
- 9. Javaスレッド:Windowsの場合とLinuxの場合
- 10. NETFX_COREがWindows 8の場合、Windows Phone 8は何ですか?
- 11. msbuild.exeの場所はVS2012でwindows 8の場合
- 12. Eclipse CDT + Windowsの場合: "ダミー"のインストール
- 13. ビルのwxWidgets 3.0.3プログラム(Windowsの場合)
- 14. 変更の分離レベル(Windowsの場合)
- 15. PHPFPMソケットnginxのは、静的なファイルに当たっても、
- 16. 権限昇格Windows 7の場合?
- 17. Visual Studio 2017 Windows 10(MacBook Proの場合)
- 18. XAMPP(Windowsの場合)PHP GMP関数
- 19. GRPC C#ライブラリWindows 8.1 Phone Appの場合
- 20. InkEdit throw OverflowException Windows 7の場合
- 21. WPF Save DialogBox(Windows 64の場合)
- 22. は、私は(Windowsの場合)私のPC上でアナコンダをインストールピップ
- 23. WindowsのユニバーサルWindowsアプリケーションでメモリを扱う場合
- 24. コマンドプロンプトの端末で開始pythonの場合は、Windows
- 25. Windowsの場合はネストされたバッチファイルのcmd
- 26. Node.jsのコンソールにemojiを出力するには(Windowsの場合)?
- 27. エラーではなく、実行プログラム(Windowsの場合)
- 28. Pythonからアンドロイドデバイスディレクトリを取得するには? Windowsの場合
- 29. の場合、$ GETの場合は
- 30. 動的にnginxコンテナipをphpfpm/etc/hostsファイルに追加する
PHP-FPMは、Windows上で簡単にインストールできます。でも2011年に、あなたの答えは目に見えて間違っていました:それはCygwinの下に働いていた場合(1)、それは、Windowsの下で働いていたとLinuxの外(2)それは – Dereckson