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...

  • Это что за действия, которые требуют более 30 секунд? О_о
    Мне единственный вариант на ум приходит — бэкап…да и то он столько времени вряд ли сжирать будет)

    •  Конвертация видео к примеру. Эта проблема возникла когда нужно было кучу avi, перегнать в 3gp