(mod_fcgid on 2.0.x)windowsでCGIをFastCGIで実行するように設定したかった
2014/11/22
windows上でPHPをfcgid(FastCGI)実行を行う方法を、
apache.orgで提供されているモジュール(mod_fcgid)を元にして、
ご紹介したかったのですが、Apache 2.0.xとの組み合わせでは、
どうやら厳しいようですかもしれません。
追記でmod_fcgid-2.3.5および、mod_fcgid-2.3.4リンクをご紹介していますので、
そちらならもしかしたら動くかもしれません。
はじめに
これまで「windows上でPHPをfcgid(fast cgi)実行する」というタスクに、
さんざん迷路にはまっておりました。
さらに、このApache 2.0.x系とmod_fcgidではさらにはまりました。
以下のサイトの方も言われていますが、相性が悪いのか・・・といった感じ。
※以下はRuby on Railsですが当サイトではPHPの使用を目的としています。
Ruby on Rails : Apache で動作させる – WebOS Goodies
Ruby on Rails で FastCGI の機能を利用するには、プロジェクトディレクトリの “public/.htaccess” を多少変更する必要があります。まず最初はハンドラーの指定です。デフォルトでは mod_fastcgi を使用する設定になっているのですが、このモジュールは Apache 2.0 と相性が悪いので使われなくなってきています。 GentooLinux では代わりに mod_fcgid のパッケージが含まれていますので、そちらを使うように変更します。具体的には、ファイルの最初のほうにある “.fcgi” に対するハンドラーの指定を以下のように変更します。
おそらく他にも同じようにはまっている方もおられるのではないかと思い、
念の為、ご紹介しておきます。
環境
- windows: windows 7 Ultimate(64bit)
- apache: 2.0.65
httpd-2.0.65-win32-x86-no_ssl.msi
httpd-2.0.65-win32-x86-openssl-0.9.8y.msi - fast_cgi: mod_fcgid-2.3.6
mod_fcgid-2.3.6-win32-x86.zip - PHP: php-5.5.5-Win32-VC11-x86(PHP)
検討結果
私の環境のApache 2.0.65においては、
LoadModule fcgid_module modules/mod_fcgid.so 時点でエラーとなり、
モジュールの読み込みが行えませんでした。
2013/11/10追記
その後、偶然mod_fcgid-2.3.5および、mod_fcgid-2.3.4のダウンロード先に出会いました。
まだ試していませんが、そちらを利用してみると、
Apache 2.0.xxでもいけるかも(未検証)しれません。
過去バージョンのmod_fcgidをダウンロードできるアーカイブ先(メモ)
その他の方策
Apache 2.2.x系であれば設定を行うことができましたので、
以下でご紹介させて頂いていおります。
(mod_fcgid on 2.2.x)windowsでCGIをFastCGIで実行するように設定する
また、代替策としてApache 2.0.x系でFast CGIを動作させるには、
以下を参考にして頂けますと幸いです。
Fast CGI(mod_fastcgi)の利用
Apache.orgによるFastCGIではなく、
fastcgi.comで提供されているモジュール(mod_fastcgi)を利用すると、
Apache2.0.x系でもFastCGI動作をさせることができましたので、
以下でご紹介しています。
(mod_fastcgi on 2.0.x)windowsでCGIをFastCGIで実行するように設定する
Apache Loungeの利用
Apache Loungeにて提供されているApacheは2.4で動作しています。
この2.4の環境においてもCGI実行ができておりますのでご紹介しておきます。
Apache Loungeを利用すると2013/11/02現在で、
バイナリ版が公開されていないAapche2.4をバイナリとして導入可能になります。
(lounge Apache 2.4.6)ローカル環境(windows)へのApache設置
また、そのApache2.4.6に対して、
fcgid(FastCGI)実行を行う方法もご紹介させて頂いております。
(lounge mod_fcgid on 2.4.6)windowsでCGIをFastCGIで実行するように設定する
さいごに
今回は、LoadModule fcgid_module modules/mod_fcgid.soを記述し、
モジュールの読み込みを行った時点で、Apacheが起動しない症状に当たりました。
公式には、Apache2.0以上が動作環境とされていますので本来は動くはずです。
しかし、検索しても2.0との組み合わせでwindows上で!という情報を
目にすることはできませんでした。
何かいい方法や、既に実現された方がおられましたら、
コメント頂けますと幸いです。
Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です。
登録番号は以下の通りです。
第3333588号、第3351402号、第4197799号、
第4348387号、第4395963号、第4648301号
Windows は米国 Microsoft Corporation の米国およびその他の国における国際登録商標です。
国際登録番号:1135413
Apache,Apache Hadoop,Apache Subversion,Hadoop,HDFS,HBase,Hive,Mahout,Pigは、
Apache Software Foundationの米国およびその他の国における登録商標または商標です。
ApacheソフトウェアはApache Software License (原文)および
Apache License, 2.0 (原文)に基づきOpen Source Initiativeに承認されライセンスされています。
関連記事
-
ファイルの拡張子を表示する(windows7)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
ローカル環境のPHPをCGI実行させる方法をwindowsで試す
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
[コンピュータに MSVCR110.dllがない]とApacheMonitor.exeを起動して言われた場合
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(mod_fcgid on 2.2.x)windowsでCGIをFastCGIで実行するように設定する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
1つのPC(サーバー)で複数のIPでアクセス(Listen)を受ける
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Apacheのmod_rewriteで日本語にマッチさせたい(引用)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
PHPをmod_fcgidやmod_fastcgiでFastCGI実行する方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
【一発理解】mod_rewriteのURL転送が動かず迷ったらこれを確認(パスのスラッシュ)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(バッチで一発)windows7をリモートでシャットダウンする方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(lounge Apache 2.4.6)ローカル環境(windows)へのApache設置
Google or AdMax Promotion(it) 禁断の機能がau公式 …