Подключение python 3.2 к Apache 2.2 как CGI

В общем, вот рабочий пример запуска python3 как CGI в апач 2.2 с кириллицей в браузере:

#!/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

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 # важно

вроде бы больше ничего не требуется

Рейтинг
( Пока оценок нет )
Загрузка ...