В общем, вот рабочий пример запуска python3 как CGI в апач 2.2 с кириллицей в браузере:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#!/usr/local/bin/python3 import sys, os os.dup2(1, 2) # copy stderr->stdout sys.stdout.buffer.write(b'Content-type: text/html;charset=utf-8nn') def out(msg): sys.stdout.buffer.write(msg.encode('utf8')) sys.stdout.flush() # test import time for i in range(10): out('кириллица ') time.sleep(1) |
файл сохраняем в utf-8
в браузере тоже должна быть выбрана эта кодировка
все ошибки копируются в stdout, т.е. в браузер
подключение в httpd.conf:
– создаем вирт. хост, добавляем хэндлер
– в директории со скриптами добавляем +ExecCGI
– ставим на скрипт права на выполнение: chmod +x script.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
ServerAdmin admin@localhost2 DocumentRoot /home/python3/www ServerName pyweb ErrorLog logs/pyweb_errors CustomLog logs/pyweb_custom common AddHandler cgi-script .cgi .py .pyw # важно DirectoryIndex start.pyw Options +ExecCGI # важно |
вроде бы больше ничего не требуется
Похожие записи: