Недавно я начал изучать cgi и настроил сервер Ubuntu в vbox. Первая программа, которую я написал, была на Python с использованием vim через ssh. Затем я установил Eclipse на свою станцию с Windows 7 и создал точно такой же файл Perl; просто привет мир.
Я попытался запустить его и получил 500 баллов, в то время как код Python в том же каталоге (/ usr / lib / cgi-bin) отображался нормально. Разочарованный, я проверил и трижды перепроверил разрешения, начиная с #! / Usr / bin / perl. Я также проверил, установлен ли AddHandler в .pl. Все было настроено нормально, и по прихоти я решил написать такой же точный код на сервере, используя vim, как я сделал с файлом Python.
О чудо, это сработало. Я сравнил их, думая, что сошел с ума, и они абсолютно такие же. Итак, в чем дело? Почему файл, созданный в Windows 7 в Eclipse, отличается от файла, созданного на сервере Ubuntu с помощью vim? У них разные двоичные заголовки или что-то в этом роде? Это действительно может повлиять на мою среду разработки.
#!/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
Это постоянная ошибка, которую я получаю.
LF
; он отправляетCR LF
клиенту. [Это репост предыдущего комментария с удаленными нерелевантными частями] - person ikegami   schedule 07.08.2012