• 締切済み

Apach での SSIとCGIとPHP

Redhat Linux9.0 Perl-5.8.0-88.3 php-4.2.2.-17.2 ですが。。。 ユーザーディレクトリでPerlが動かなくて困っています。 通常、httpd.conf の <Directory /home/*/public_html> の部分に Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI で動くと思うのですが、なぜかダメでした。 Error message: Premature end of script headers: test.cgi それで、httpd の フォルダを見たところ conf.d/perl.conf というのがあり、そこに次の様に記述したら、perlは動きました。 <Directory /home/*/public_html> SetHandler perl-script PerlHandler ModPerl::Registry::handler PerlOptions +ParseHeaders Options +ExecCGI </Directory> しかし、こうすると今度は SSI と PHP が動かなくなりました。 You don't have permission to access the requested object. It is either read-protected or not readable by the server. なお、上のディレクティブをコメントアウトすると、SSI と PHP はOKです。 この場合、PerlとPHPとSSIのすべてを動くようにするにはどうしたらいいのでしょうか? よろしくお願いします。

みんなの回答

  • jakarta
  • ベストアンサー率38% (607/1597)
回答No.2

Premature end of script headersのエラーについては結構ヒットしますのでそれらを参考にしてください http://www.nishimoto-site.net/archiver/ML/apache-ML/200003/msg00019.html 情報が少ないのでこれ以上はわかりかねます。もし自分が同じ症状に出くわしたとしたら恐らくソースからインストールし直すと思います。

  • jakarta
  • ベストアンサー率38% (607/1597)
回答No.1

test.cgi の記述内容、conf.d/perl.confの記述のどこをどのように書き換えたのか不明です。Apacheのインストール方法もわかりません。 >>Premature end of script headers: test.cgi ブラウザからアクセスした時にエラーがでていると思うのですが、出力される内容はContent-type: text/plainで指定されていますか? CGIのヘッダ指定を見直して下さい。もし抜けていたら追加し、conf.d/perl.confは元の設定にもどして動作を確認しみてください。

abcxyz3000
質問者

補足

apacheのインストールは、Linuxのインストール時に選択しただけのものです。 症状は次のページのサンプルでも出ています。SSIが動けばSGIがダメ、または、その逆です。 http://www2j.biglobe.ne.jp/~apollo/server/apacuse.html

関連するQ&A