http://www.modpython.org/
から、
mod_python-3.3.1.win32-py2.5-Apache2.0.exe
をDLしてきてインストールしてみた。Python2.5のディレクトリは正常に認識できて、mod_python.soもApache2のmodulesディレクトリに追加されていたので、
LoadModule python_module modules/mod_python.so
を追加して
apache -f conf\httpd_php4.conf -t
したら・・・
Syntax error on line 54 of C:/Program Files/Apache Group/Apache2/conf/httpd_common.conf: Cannot load C:/Program Files/Apache Group/Apache2/modules/mod_python.so into server: \x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83v\x83\x8d\x83V\x81[\x83W\x83\x83\x82 \xaa\x8c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B
で起動しない。
最後の16進数をPHPで戻してみたら「指定されたプロシージャが見つかりません。」とのこと。英語だと "The specified procedure could not be found." になるので、色々GoogleであたってみたけどHitが無い。
mod_python.so側のバージョンとPythonのランタイムDLLのバージョンが違っていたり、ランタイムDLLがPATHに無かったり、他のアプリが自前で入れたPythonXX.dllがPATH上で先にヒットするのが主たる要因らしいのだけれど。
Python25.dllもちゃんと C:\WINDOWS\System32 の中にあるし、Apacheのバージョンもあっている。
というか、Python25.dllをapache.exeと同じディレクトリに置いて、そのディレクトリにCDして設定ファイルのテストを行っている。Winの場合、DLLの検索パスは実行ファイルと同じディレクトリ内が最初になるので、これで問題ないはず。
・・・もしかしてPython2.6も一緒に入れているのが不味いのか?C:\WINDOWS\System32\Python26.dllがあるし・・・。
とりあえず今夜はここら辺にしておくけど、またやる気が出てきたらPython2.6をアンインストールして実験してみよう。
コメント