Perlのプログラムが公開部分では404エラー、エラーログはEnd of script output before headersとなるのを解決したいです。

実現したいこと

"Hello World”と出すだけの簡単なPerl(他のサーバでは動いていることを確認)で、404エラー、エラーログには"End of script output before headers"が出るのですが、その原因の解明がしたいです。

発生している問題・分からないこと

専用サーバで、
Perl:5.26.3
を動くようにしてもらっております。

サーバ移行の仕事なのですが、
今まで動いていたPerlで作成されたCGIが動かそうとすると「404エラー」となります。

Perlが動いているのか確認するために

Perl

1#!/usr/local/bin/perl2use strict;3use warnings;4print "Content-type: text/html\n\n";5print "Hello World!";

というプログラムを作成して、サーバにアップ、パーミッションは755で動かしてみたところ、
404エラーのままであり、
エラーログには
End of script output before headers
が出ておりました。

エラーメッセージ

error

1End of script output before headers

該当のソースコード

Perl

1#!/usr/local/bin/perl2use strict;3use warnings;4print "Content-type: text/html\n\n";5print "Hello World!";

試したこと・調べたこと

上記の詳細・結果

CGIが動かなくなる原因として検索してでてきた内容は一つずつ、つぶしてみました。

(1)1行目にPerlへのパスはサーバ会社に確認して入れました
(2)FTPの転送時には「テキストモード」で転送しました。
(3)改行コードはLFにしていますし、他の改行コードも確かめました。
(4)1行目のパスに--を入れて改行コードをコメント化する方法も確かめました。
(5)パーミッションは755,705,700で試してみました。
(6)cgiファイルの入ってるディレクトリに、以下のコードを記入した.htaccessを入れてみました。

Options -Indexes Options +ExecCGI AddType application/x-httpd-cgi .cgi .pl .pm AddHandler cgi-script cgi pl pm

他に何か試してみることがあったら教えてください。

サーバ会社には問い合わせたのですが、「Perl」は入れている、としか報告がありません。

補足

特になし

コメントを投稿

0 コメント