У меня длинный PHP-скрипт. Я делаю подключение к базе данных в самом начале скрипта и выполняет некоторую операцию с базой данных при запуске.
После этого сценарий выполняет 4 часа работы PHP, не пинговая MySQL с этим соединением даже один раз.
В конце этих длительных операций PHP, когда я пытаюсь выполнить mysql_query
он вызывает следующую ошибку: MySQL Server has gone Away
Есть ли возможность увеличить время ожидания соединения до 4 часов? Я использую PHP ADODB
для подключения к MySQL из моего PHP-приложения.
Пожалуйста, предложите, что делать?
MySQL имеет другой тайм-аут, чем PHP. Вы можете увеличить его в php.ini
в строке mysql.connect_timeout = 14400
. Также увеличьте значение default_socket_timeout = 14400
Обратите внимание: если ваш PHP-параметр позволяет вам сделать ini_set
, вы также можете сделать следующее:
ini_set('mysql.connect_timeout', 14400); ini_set('default_socket_timeout', 14400);