2011-01-23 16 views
0

ブラウザを介して "hello world" perlスクリプト(hello.cgi)にアクセスしようとしたとき、ブラウザは500内部サーバーエラーを返します。CGIファイルが500の内部サーバーエラーを引き起こします

しかし、同じファイルのファイルの終わりをhello.plに変更したとき、私はブラウザからうまくアクセスできます。私は同じディレクトリ内のpythonスクリプト(hello.py)でこれをトラブルシューティングしようとしましたが、うまくいきます。

私は次のようにhttpd.confを変更しました:

のAddHandlerにcgi-script .cgiでの.pyの.pl

AllowOverrideのなし でSetHandlerのCGIスクリプト オプション+のExecCGI 注文ができるように、 deny すべて許可する

私はこの問題を解決するためにあらゆるところを見ましたが、何も動作していないようです。助けてください。

+0

Webサーバーのエラーメッセージのほかに、CGIスクリプト、特にサイト/仮想ホストのエラーログをトラブルシューティングする際に、Apacheサーバーのログが役立ちます。ちょうどFYI。 –

答えて

0

あなたはたぶんprint "Content-Type: text/html\n\n"またはそれを忘れています。

1

シバンラインが正しいことを確認してください。 Apacheサーバーは、perlインタープリタがどこにあるか、つまりperl.exeがどこにあるかを知る必要があります。 perl.exeが/ usr/bin/perlにない場合(shebangのように)、動作しません。

私は#Cに私のシェバングを変更するまで、私は何を得ていませんでした!:/プログラムファイル(x86の)/Perl64/bin/perl.exe

(ところで、私はそれが年齢を探すためにどのようなものであるかを知っています!これらの事のヘルプのための幸運)

0

私が推薦する:あなたが設定をホスティング使用している場合は、スクリプトを与える

  • が、私はその後、2.0より前にGoDaddyはのWebベースのファイルマネージャ
  • を使用して実行権限をあなたのperlスクリプトを信じるcgiディレクトリにのみ置くことができます。 2.0以上にアップグレードし、perlスクリプトはホスティングアカウントのどこにでも置くことができます。
  • unixの行末でperlスクリプトを再保存してみるか、編集してGoDaddyのWebベースのファイルマネージャーで保存してみてください(これは最終的に私の仕事です)
  • 前述のように、不完全なHTTPヘッダーが送信されています
  • その他すべてが失敗した場合は、Hosting Managerでエラーログを記録し、ファイルマネージャーにエラーログというディレクトリが表示されます。