ローカルの Apache 2.2.22 サーバーで完璧に動作する Python CGI スクリプトがあります。正しい結果などを出力します。しかし、仮想ホスティングで実行しようとすると、エラー 500 が発生します。なぜ機能しないのか、まったくわかりません。
Apache エラー ログは次のようになります。
[Wed Jul 12 16:06:54 2013] [error] [client 89.223.235.12] Premature end of script headers: /home/u67442/rrrrr.com/cgi-bin/test.py
[Wed Jul 12 16:09:31 2013] [error] [client 89.223.235.12] Premature end of script headers: /home/u67442/rrrrr.com/cgi-bin/test.py
私はすでに次のことを試しました:
- インタープリターへのパスは正しいと確信しています -
#!/usr/local/bin/python
。別の CGI スクリプトは、このパスで正常に動作します。 - このスクリプトに chmod 755 を設定しました。
- 行末文字を UNIX 形式で設定しました。
- 正しい HTTP ヘッダーを使用します。
print "Content-type:text/html\n\n"
スクリプトの出力セクション:
print "Content-type:text/html\n\n"
print "<html>"
print "<head>"
print "<title>Results</title>"
print "<head><h2 align=center>Results</h2></head>"
print "</head>"
print '<body bgcolor="#e8f3d8">'
print "<hr>"
print "<b>Result = %s </b>" % str(round(total_sum, 5))
print "</body>"
print "</html>"
同じパス、ヘッダー、EOL、出力などを持つ別の非常によく似たスクリプトが、ローカル サーバーと仮想ホスティングで完璧に機能するのはおかしいです。このスクリプトが私のローカル Apache では問題なく動作するのは非常に奇妙ですが、仮想 Web ホスティングでは 500 内部サーバー エラーでクラッシュします。どうすればいいのか本当にわかりません。テクニカル サポートでは、スクリプトに問題があるとのことです。
アイデアは 1 つだけです - 出力待機のタイムアウトです。私のスクリプトでのデータ処理には、約 15 ~ 25 秒かかります。
何をアドバイスできますか?