私は最近cgiを学び始め、vboxでUbuntuサーバーをセットアップしました。私が最初に書いたプログラムは、vimからsshを使用したPythonでした。次に、Windows 7ステーションにEclipseをインストールし、まったく同じPerlファイルを作成しました。単純なHelloWorldの取引。
私はそれを実行しようとしましたが、同じディレクトリ(/ usr / lib / cgi-bin)のPythonコードが正常に表示されている間に、500を取得していました。イライラして、私はパーミッションをチェックしてトリプルチェックし、それが#!/ usr / bin/perlで始まっていることを確認しました。AddHandlerが.plに設定されているかどうかも確認しました。すべてがうまく設定され、気まぐれに、Pythonファイルで行ったのと同じようにvimを使用してサーバー内にまったく同じコードを書くことにしました。
見よ、それはうまくいった。私は怒ったと思ってそれらを比較しました、そしてそれらはまったく同じです。それで、取引は何ですか?Eclipse上のWindows7で作成されたファイルが、vimを使用してUbuntuサーバーで作成されたファイルと異なるのはなぜですか?それらは異なるバイナリヘッダーか何かを持っていますか?これは私の開発環境に本当に影響を与える可能性があります。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Testing.";
Apacheエラーログ:
[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] (2)No such file or directory: exec of '/usr/lib/cgi-bin/test.pl' failed
[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] Premature end of script headers: test.pl
[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] File does not exist: /var/www/favicon.ico
これは私が得る継続的なエラーです。