CGI-файлы, вызывающие 500 внутренних ошибок сервера - PullRequest
0 голосов
/ 23 января 2011

Когда я пытался получить доступ к своему perl-скрипту "hello world" (hello.cgi) через браузер, браузер выдает 500 Internal Server Error.

Однако, когда я изменил окончание файла этого же файлак hello.pl, я могу получить к нему доступ через браузер.Я также попытался устранить неполадку с помощью сценария Python (hello.py) в том же каталоге, и он прекрасно работает.

Я изменил httpd.conf следующим образом:

AddHandler cgi-script .cgi .py .pl

AllowOverride Нет SetHandler Параметры cgi-script + ExecCGI Order allow, deny Allow from all

Я искал везде, чтобы решить эту проблему, но, похоже, ничего не помоглоРабота.Пожалуйста, помогите.

Ответы [ 3 ]

1 голос
/ 27 января 2011

Убедитесь, что линия Шебанга правильная. Сервер Apache должен знать, где находится ваш интерпретатор perl, то есть где находится perl.exe. Если perl.exe отсутствует в / usr / bin / perl (как говорит ваш shebang), он не будет работать.

Я ничего не получал, пока не изменил свой shebang на #! C: / Program Files (x86) /Perl64/bin/perl.exe

(кстати, я знаю, каково это искать целую вечность, чтобы помочь с этими вещами. Удачи!)

0 голосов
/ 08 июня 2011

Я бы порекомендовал:

  • Предоставление скрипту прав на выполнение с помощью веб-менеджера файлов GoDaddy
  • Если вы используете Hosting Configuration до версии 2.0, то я считаю, что ваши perl-скрипты могут находиться только в каталоге cgi. Обновитесь до 2.0+, и ваши Perl-скрипты могут находиться в любом месте на вашей учетной записи хостинга.
  • Попробуйте восстановить сценарий perl с окончанием строки Unix или попробуйте отредактировать его и сохранить его с помощью веб-менеджера файлов GoDaddy (это то, что в конечном итоге мне помогло)
  • Как упоминалось ранее, это могут быть также неполные отправляемые заголовки HTTP
  • Если ничего не помогает, включите ведение журнала ошибок в Менеджере хостинга, и вы увидите каталог Журналы ошибок в Файловом менеджере, который должен помочь вам в дальнейшем.
0 голосов
/ 23 января 2011

Вы, вероятно, забыли print "Content-Type: text/html\n\n" или что-то подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...