Код: Выделить всё
#!/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")
Я добавил следующие строки в 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