Я только начинаю изучать Python. Интерпретатор Python работает из командной строки (у меня 2.4.3), но я не могу заставить Apache выполнять скрипты Python. Все, что у меня получается, это пустой экран и ничего в журналах ошибок Apache.
Я включил Python через панель управления Plesk. Вот фрагмент, созданный в httpd.include:
<Files ~ (\.py$)>
SetHandler python-program
PythonHandler mod_python.cgihandler
</Files>
Мой тестовый сценарий - один из примеров, который поставляется с загрузкой Python по адресу http://python.org/download/
#!/usr/local/bin/python
"""CGI test 1 - check server setup."""
# Until you get this to work, your web server isn't set up right or
# your Python isn't set up right.
# If cgi0.sh works but cgi1.py doesn't, check the #! line and the file
# permissions. The docs for the cgi.py module have debugging tips.
print("Content-type: text/html")
print()
print("<h1>Hello world</h1>")
print("<p>This is cgi1.py")
Это не сработало, поэтому я изменил #!/usr/local/bin/python
к #!/usr/bin/python
который является то, что which python
говорит мне, но результаты были такими же.
Как я уже сказал, у меня остается пустая страница. Насколько мне известно, ошибок нет, если я не проверяю неправильный журнал ошибок (я проверяю журнал ошибок Apache). Я использую MediaTemple (dv) под управлением CentOS.
Попробуйте заменить код:
print("Content-type: text/html")
print()
к
print("Content-type: text/html")
print("\n\n")
редактировать
print()
=> напечатает ()
если вы запускаете с терминала
print
=> напечатает символ разрыва строки '\ n'. Посмотреть документ Вот (Найдите печать)
A.) Убедитесь, что вы можете запустить свой сценарий из командной строки. B.) Попробуйте добавить дополнительный print () после первого print ().