Windows10にApacheをインストールして、CGIのテスト環境を作っています。
CGIはPythonで作成しています。
(かつて正常に動作したと記憶していたと記憶している)ファイルが下記「ファイルにアクセスできません。」のエラーになります。
(タイムスタンプから今年の初めには動いていたような.....)
※ なぜIISを使わないかと指摘がありそうなので.....
IISでも試しましたが、実稼働はApacheですし、普段はMacで作成しCentOSで稼働なので
使い慣れているApacheとしました。
このエラーの原因として、何が考えられるでしょうか。
今月になってWindowsUpdateが長い時間動いていましたが、関係はないですよね。
http://localhost/helloworld.py
[Sun May 09 10:23:41.101302 2021] [cgi:error] [pid 1712:tid 1844] (OS 1920)ファイルにアクセスできません。 : [client ::1:54401] couldn't create child process: 721920: helloworld.py [Sun May 09 10:23:41.113348 2021] [cgi:error] [pid 1712:tid 1844] (OS 1920)ファイルにアクセスできません。 : [client ::1:54401] AH01223: couldn't spawn child process: C:/var/Apache24/htdocs/helloworld.py
Apacheのバージョン
C:\Windows\system32>httpd -v Server version: Apache/2.4.46 (Win64) Server built: Dec 9 2020 10:17:06
file:///C:/var/Apache24/htdocs/helloworld.py
で開けばソースが表示されます。「ファイルがない」エラーではないと考えられました。
このエラーはシバンに書いたパス(今回のケースではpythonのパス)が間違っているらしいと考え
コマンドプロンプト上でwhereコマンドでパスを確認しました。
Python のバージョンも 3.9.5 であることを確認しました。
C:\Windows\system32>where python C:\Users\tutik\AppData\Local\Microsoft\WindowsApps\python.exe C:\Windows\system32>python -V Python 3.9.5
httpd.confの設定も確認しました。拡張子".py"は追加してありました。
ドキュメントルートでCGIの実行は許可してあります。
mod_cgi.soの行はコメントを解除しています
httpd.conf
DocumentRoot "${SRVROOT}/htdocs" <Directory "${SRVROOT}/htdocs"> #Options Indexes FollowSymLinks #Options Indexes FollowSymLinks Options Indexes FollowSymLinks ExecCGI <IfModule mime_module> #AddHandler cgi-script .cgi .pl AddHandler cgi-script .cgi .pl .py #LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so #LoadModule charset_lite_module modules/mod_charset_lite.so
回答1件
あなたの回答
tips
プレビュー