Я надеюсь, что кто-то здесь может помочь с проблемой, возникшей у меня на веб-сервере. В настоящее время на сервере размещено веб-приложение, которое мы приобрели для службы поддержки. Каждые 8 часов, когда кто-то переходит на страницу, ему сообщают об ошибке:
[Warning]: PDO::__construct(): MySQL server has gone away (Database/class.SWIFT_Database.php:334)
Я попытался установить для wait_timeout максимальное значение в файле /etc/my.cnf, т. Е.
wait_timeout=31536000
Также из mysql я установил глобальное wait_timeout на это значение и установил сеанс wait_time на то же самое.
Я заметил странное поведение, когда вы перезапускаете службу mysql, тайм-аут ожидания сбрасывается до значения по умолчанию 28800, несмотря на то, что он установлен в my.cnf. Я не могу найти другие файлы конфигурации для MySQL, хотя с удовольствием посмотрю, если кто-то может указать мне в этом направлении.
Также сегодня утром, когда я вошел на сервер и выполнил следующую команду, значение сеанса wait_timeout было возвращено!
mysql> select @@global.wait_timeout, @@session.wait_timeout;
+-----------------------+------------------------+
| @@global.wait_timeout | @@session.wait_timeout |
+-----------------------+------------------------+
| 31536000 | 28800 |
+-----------------------+------------------------+
1 row in set (0.00 sec)
Я вижу, что это проблема для многих людей в Интернете с различными веб-приложениями, работающими на MySQL, но, похоже, никто не может решить эту проблему. Многие советы онлайн указывают на wait_timeout, но, похоже, это не меняет обнаруженную ошибку. Я опробовал исправления в руководстве по mysql об этой проблеме, но все еще не повезло (ссылка: http://dev.mysql.com/doc/refman/5.0/en/gone-away.html)
Любой совет будет принят с благодарностью. Подробности сервера и версии продукта ниже:
Сервер: OpenSuse 11.4
MySql версия: 5.1.53
Заранее большое спасибо!