人気コンテンツ今日: |
CGIが動かない "Internal Server Error" "Premature end of script headers"sasaki 日曜, 2007-10-14 16:33
あるサイトにperlで書かれたCGIをのせてみると、動かない! 色々と工夫してみるものの、 "Internal Server Error" がブラウザに表示され、Apacheのログには、 "Premature end of script headers" エラーが記録されている。
知り合いの、さらに知り合いのサイトで、サーバの情報は得られない。大塚商会さんのサーバということしか分からない。
■.htaccessはダメだった.htaccessを設置して Options +ExecCGI を指定したが、ダメ。
■ディレクトリのアクセス権限の変更結局、今回設置するCGIのディレクトリのアクセス権を変更する事で、無事に解決した。
utf-mailというディレクトリのアクセス権を以下のように変更した。 (修正前) drwxrxxr-x utf-mail
(修正後) drwxr-xr-x utf-mail 755や700だと、大丈夫だった。オーナー以外が書き込み権限を持てる775と777は許可されていないらしい。
このサーバー、どうもsuexecの設定を有効にしているみたい。
参考サイト: http://httpd.apache.org/docs/2.0/ja/howto/cgi.html
■テスト用CGIプログラムテストに使用した簡単なCGI。 test.cgi #! /usr/bin/perl
ポイントは、 1行目のパスを/usr/bin/perlか/usr/local/bin/perlなど、環境に合わせる。 次のポイントは、Content-typeを含み、後に空行の続くHTTPヘッダ を吐き出すこと。
755を指定するのを忘れずに。(場合によっては700)
印刷用 | カウント(151)
|
Webマスターな生活amazon広告英語お勧め教材! 英語の学校でも使っているのですが、1つのストーリーを3分で読めて、内容も面白く、もっと早く出会いたかった本です。 Apple好きで英語も勉強したいならこの一冊! 天気情報ブログパーツ |