PHP Apocalypse という勉強会に参加した時に以下のネタを見て、CAMP (Cygwin+Apache+MySQL+PHP) というのがあってもいいんじゃないかと思ったのでやってみた。
Apache, MySQL, PHP はすべて Cygwin Ports からダウンロードできるため、さくっと入れる。
インストール後に httpd を起動しようとしたが、何故か無言で segmentation fault が発生し、それを調査するのが面倒だったため、他の httpd を探すことにした。
Cygwin Ports で他に配布されているものに lighttpd があったため、そちらを使ってみる。
lighttpd から php を使うには FastCGI も必要らしいということでそれも追加でインストールしておく。
lighttpd の設定は以下のブログを参考にした。
変更点は以下のとおりである。
- lighttpd.conf
--- lighttpd.conf.default 2012-01-09 00:28:05.000000000 +0900 +++ lighttpd.conf 2012-01-09 00:28:05.000000000 +0900 @@ -21,7 +21,7 @@ # "mod_auth", # "mod_status", # "mod_setenv", -# "mod_fastcgi", + "mod_fastcgi", # "mod_proxy", # "mod_simple_vhost", # "mod_evhost", @@ -212,14 +212,17 @@ #### fastcgi module ## read fastcgi.txt for more info ## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini -#fastcgi.server = ( ".php" => -# ( "localhost" => -# ( +fastcgi.server = ( ".php" => + ( "localhost" => + ( # "socket" => "/var/run/lighttpd/php-fastcgi.socket", -# "bin-path" => "/usr/local/bin/php-cgi" -# ) -# ) -# ) + "host" => "127.0.0.1", + "port" => 7743, + "docroot" => "/srv/www/htdocs", + "bin-path" => "/usr/bin/php-cgi.exe" + ) + ) + ) #### CGI module #cgi.assign = ( ".pl" => "/usr/bin/perl",
% /usr/bin/php-cgi.exe -b 127.0.0.1:7743
準備ができたら localhost にアクセスしてみる。今回は /svr/www/htdocs 配下に phpinfo.php (phpinfo を呼ぶだけのスクリプト) を置いてみた。
php の cygwin バイナリが FastCGI 経由で起動していることがわかる。
ただし、これだと Apache じゃないから CLMP になっちゃうな。