mysql server has gone away

При выполнении скрипта, который выполнял серию длительных действий возникал загадочный баг.  Долго не мог его выявить, он то появлялся, то исчезал, пока я шаманил с бубном занимался отладкой. Я искал проблему в скрипте и отказывался верить, что проблема на сервере. Как обычно и бывает, на локалхосте все работало как часы.

Выяснил, если процесс выполнялся более 30 сек, соединение с mysql отваливалось с ошибкой  «MySQL error: MySQL server has gone away». При этом скрипт успешно отрабатывал и выполнял свои действия, только не заносил в базу результат 🙂

Проблема в настройках mysql сервера у хостера  wait_timeout = 30. Лечится очень просто. Либо заново mysql_connect() в скрипте, либо перед началом длительных действий выполнить SQL

You may also like...