Начало работы Python, внутренняя ошибка сервера - PullRequest
9 голосов
/ 18 декабря 2008

Я пытаюсь заставить работать скрипты Python, вызываемые из веб-браузера. Я получаю сообщение об ошибке:

500 Internal Server Error

Когда я проверяю свои журналы ошибок, я вижу сообщение

Premature end of script headers

Единственная документация по этой ошибке в Интернете говорит о том, что она может быть результатом неправильных символов возврата строки в вашем скрипте, но я написал свой тестовый скрипт прямо из оболочки с pico. Кроме того, когда я запускаю файл из командной строки, он работает просто отлично. " Пока единственное изменение, которое я сделал в apache, это добавление .py в строку «AddHandler cgi-script».

Спасибо!


Спасибо за быстрый ответ. Вот последняя версия тестового кода. Я добавил пару новых строк перед выводом, как предложено, но все еще получаю ту же ошибку:

#!/usr/local/bin/python
print "Content-type: text/html\n"
print "\n\n"
print "<HTML>"
print "<HEAD>"
print "<TITLE>Test</TITLE>"
print "</HEAD>"
print "<BODY>"
print "<H2>Hi there.</h2>"
print "</BODY>"
print "</HTML>"

Некоторые другие детали: я использую Apache 1.3 и у меня нет mod_python. Я установил Apache для распознавания .py, как указано выше. Я запускаю скрипт из основной папки public_html.


Обновление. Кажется, не имеет значения, что я положил в линию Шебанга. Я перепробовал все предложения, и даже если я оставлю это поле пустым, в журнале ошибок появляется та же ошибка, и я получаю ошибку 500.

Я использую Apache / 1.3.41 на Linux (Red Hat 3.4) с установленным WHM / Cpanel.

Ответы [ 11 ]

0 голосов
/ 28 января 2009

Похоже, вы используете скрипт, написанный в Windows, на Unix-машине, без предварительного преобразования концов строк с 0d0a в 0a. Это должно быть легко преобразовать это. Один способ - с вашей программой ftp; передать файл в режиме ASCII. Я использую Metapad, используя File-> FileFormat перед сохранением.

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