Керування файлами cookie, які використовуються для реклами, таких як персоналізація реклами, ремаркетинг і аналіз ефективності реклами.
|
ramario
24.07.2018 13:48
0
|
Есть скрипт:
#!/usr/bin/python3 import pymysql.cursors print("Content-Type: text/html\n\n") msg = "Hello, World!" print("""%s""" % msg) db = pymysql.connect(host='host.mysql.tools', user='host_user', password='12345', db='host_bd') cursor = db.cursor() cursor.execute("SELECT VERSION()") data = cursor.fetchone() print ("Database version : %s " % data) db.close() При вызове файла не выполняется код после строки print("""%s""" % msg). В чём может быть проблема??? |
|
Roman P.
24.07.2018 22:33
0
|
Должно работать: https://repl.it/repls/AggravatingStarryScale (Ваш код). Нужно немного подождать перед тем, как скрипт выведет ошибку о продключении к БД.
cdn.adm.tools/forum_message/0463/97/2018-07-24_223358.png |
|
ramario
25.07.2018 08:23
0
|
Я и так знаю что код рабочий. Но при вызове www.mysite.com/skript/skript.py выводится только "Hello, World!", но не выводится "Database version:" .Даже нет ошибки когда неправильно указаны параметры подключения к базе данных.
Код: db = pymysql.connect(host='host.mysql.tools', user='host_user', password='12345', db='host_bd') cursor = db.cursor() cursor.execute("SELECT VERSION()") data = cursor.fetchone() print ("Database version : %s " % data) db.close() на сервере, походу, вообще не выполняется!!! |
|
karlov
25.07.2018 18:24
0
|
Проверил работу скрипта у себя и проблем не обнаружил, скрипт рабочий. На скриншоте сам скрипт и результат его выполнения — i.imgur.com/gPfjRdD.png
Возможно, стоит перепроверить параметры подключения к базе данных, указанные в скрипте. К примеру, если пароль указан неверно, скрипт выведет только «Hello, World!». |
|
ramario
26.07.2018 08:50
0
|
Если я скрипт запускаю в PyCharm, IDLE или здесь repl.it/repls/AggravatingStarryScale - всё работает, а на сервере не хочет.
Что на сервере (возможно настройки) может мешать скрипту подключаться к БД????? |
|
alexandrpaliy
01.08.2018 11:32
4
|
В Вашем случае pymysql.connect() не работала из-за того, что на сервере была установлена слишком старая версия pymysql - 0.6.2
Возникала ошибка TypeError: __init__() got an unexpected keyword argument 'password' потому что в версии 0.6.2 этот параметр назывался 'passwd' Для наглядности, разница в списке параметров, которые ожидала видеть connect(): pymysql 0.6.2 - github.com/PyMySQL/PyMySQL/blob/92114cf35074abe4335c34d06a9b75bc6dcccad6/pymysql/connections.py (строка 500) pymysql 0.8.0 - github.com/PyMySQL/PyMySQL/blob/0305541132b134047eb4ba70fc9acbc9be603d05/pymysql/connections.py (строка 569) Перенесли аккаунт на сервер с версией pymysql 0.8.0, теперь ошибка проявляться не должна. |
Тема закрита.