Pymysql не работает в python cgiPython

Программы на Python
Anonymous
Pymysql не работает в python cgi

Сообщение Anonymous »

Я использую CentOs 7 и уже установил Apache2. Я пытаюсь запустить сценарий cgi с помощью Python 3. У меня есть файл index.py со следующим кодом:

Код: Выделить всё

#!/usr/bin/env python3.7

import platform
import pymysql
import cgitb
cgitb.enable()

print ("Content-type: text/html\r\n\r\n")
print ("\n")

print ("
connection = pymysql.connect(host='127.0.0.1', user='user', password='password', db='database', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

try:
with connection.cursor() as cursor:
sql = "SELECT * FROM Marken"
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
print(row['ID'], row['markenName'], '')
finally:
connection.close()

print ("Python Script Test Page", platform.python_version())
print ("\n\n")
что выдает внутреннюю ошибку сервера 500.

Я добавил следующие строки в httpd.conf apache:

р>

Код: Выделить всё

Options +ExecCGI
AddHandler cgi-script .py

и сделал файл доступным через

Код: Выделить всё

sudo chmod 755 var/www/html/cgi/index.py


Итак, если я закомментирую весь код pymysql и протестирую его в браузере, он распечатает ожидаемый текст тестовой страницы Python и версию платформы Python 3.7.4. . Я даже не могу импортировать pymysql, так как он выдает ошибку сервера. С mysql.connector у меня была та же проблема.
Если я запускаю сценарий как отдельный сценарий с кодом pymysql, он работает нормально в оболочке.

Я настройте мою систему как пользователь без полномочий root с доступом sudo. В этом проблема? и можно ли установить какие-либо переменные среды?

Что я делаю неправильно?

Подробнее здесь: https://stackoverflow.com/questions/614 ... python-cgi

Вернуться в «Python»