2016-01-27 3 views
0

Я пытаюсь запустить очень простую программу «Hello World» с Apache. Однако Apache возвращает 500 Internal Server Error при попытке выполнить мой файл python. Я читал несколько подобных тем здесь и пробовал предложения, не повезло. вещи я пытался:Выполнение файлов cgi Python в Apache в Windows

  1. Включая AddHandler с .py файлов в .conf файл
  2. Добавление ExecCGI в строке «Опции Indexes» в .conf.
  3. Удостоверяясь первый выход вещь «» Content-Type: Текст/HTML»с конец строки символов
  4. Добавление притон строки в верхней части файла питона направить интерпретатор Python. Я не уверен, если я делаю эту часть правой
  5. Перезапуск Apache

инструменты, которые я использую, включают:.

  • Windows 7
  • Python 3.5
  • Apache 2,4

Мой код: HTML-файл (в папке HTDOCS в папке Apache):

<form action="/cgi-bin/hello_get.py" method="post"> 
First Name: <input type="text" name="first_name"> <br /> 

Last Name: <input type="text" name="last_name" /> 
<input type="submit" value="Submit" /> 
</form> 

Файл питон (в папке CGI-BIN):

# Note that I tried this without the C:/ also 
#!C:/Users/MyName/workspace/Flask/flask/Scripts 

# Import modules for CGI handling 
import cgi, cgitb 

# Create instance of FieldStorage 
form = cgi.FieldStorage() 

# Get data from fields 
first_name = form.getvalue('first_name') 
last_name = form.getvalue('last_name') 

print("Content-Type:text/html\r\n\r\n") 
print("<html>") 
print("<head>") 
print("<title>Hello - Second CGI Program</title>") 
print("</head>") 
print("<body>") 
print("<h2>Hello %s %s</h2>" % (first_name, last_name)) 
print("</body>") 
print("</html>") 
+1

Должен признать - это пустая трата времени. Лучше узнайте «Flask», «Bottle» или «Django» – furas

+0

Я знаю Flask, но я должен использовать Apache:/ – Village

+0

, затем используйте 'Apache + mod_wsgi' +' Gunicorn + Flask' ​​(или, возможно, 'Apache + mod_wsgi + Flask') – furas

ответ

1

Я понял.

В моей притон линии, вместо:

#!C:/Users/MyName/workspace/Flask/flask/Scripts 

я должен иметь:

#!C:/Users/MyName/workspace/Flask/flask/Scripts/python.exe 

Я думал, что мой притон должен быть путь к где питон переводчик живет, я не понимал, Мне нужен был полный путь переводчика.

Он работает сейчас.

Так резюмировать, если вы имеете этот вопрос после того, следуя этим инструкциям: http://editrocket.com/articles/python_apache_windows.html Убедитесь, что если вы с помощью Windows путь является полный абсолютный путь от C:/привод к python.exe исполняемого файла.

Смежные вопросы