У меня множество странных проблем с Magento CE 1.7.0.2. Во время обычной работы на сайте иногда появляется страница с ошибками Magento ( при обработке вашего запроса произошла ошибка ) как на веб- интерфейсе, так и на бэкэнде. Просматривая связанный отчет, я вижу следующее сообщение:
"SQLSTATE[HY000] [2006] MySQL server has gone away"
Иногда, но реже, сообщение отчета будет выглядеть так:
Connection reset by peer
Я посмотрел на var> log> system.log, и MySQL has gone away
ошибка сопровождается следующим:
Warning: PDO::__construct(): MySQL server has gone away in /var/www/html/domain.com/live/lib/Zend/Db/Adapter/Pdo/Abstract.php on line 129
Error while reading greeting packet. PID=1863 in /var/www/html/domain.com/live/lib/Zend/Db/Adapter/Pdo/Abstract.php on line 129
В дополнение к этому, похоже, что при каждом запросе возникает следующая ошибка MySQL has gone away
:
Warning: include(File.php): failed to open stream: No such file or directory in /var/www/html/domain.com/live/lib/Varien/Autoload.php on line 93
Warning: include(): Failed opening 'File.php' for inclusion
Я просмотрел большинство статей, которые могу найти по этому поводу, и возился с параметрами базы данных, пока коровы не вернулись домой, но ошибка остается.
После следующего QnA о компиляторе я заметил, что страница администратора Система> Инструменты> Компиляция полностью пуста. Я думаю, что это все связанные ошибки, но любое понимание отладки или причин было бы очень полезно.
Я прошу прощения, если это бессвязно; Я не спал около 42 часов, поэтому, пожалуйста, попросите разъяснений. Спасибо.
-- Обновить --
Мой серверный стек для наглядности:
PHP 5.5.4 (PHP-FPM)
Nginx 1.4.2
MySQL 5.5.33
-- Обновить --
Мне пришло в голову (после некоторого сна), что я никогда не указывал - база кода PHP и база данных MySQL находятся на отдельных аппаратных серверах - очень важно знать, собираетесь ли вы мне помочь !! Я приношу извинения.
источник
Ответы:
Это в основном связано с одной из двух причин ниже
исправить: попробуйте увеличить
wait_timeout
переменную вmy.cnf/my.ini
файле конфигурации вашего mysqld .исправлено: увеличение максимального размера пакета путем увеличения значения
max_allowed_packet
вmy.cnf/my.ini
файле.Пожалуйста, проверьте файлы, если вы пытаетесь получить что-то, что занимает слишком много времени или неприменимо.
источник
max_allowed_packet
2G иwait_timout
86400, но все равно ничего не помогло.Проблема решена! Спасибо всем за помощь. Это была проблема аппаратного брандмауэра с веб-хостом, даже после того, как они были отключены нами.
Как подтверждает команда серверов 1 & 1 , аппаратные брандмауэры были правильно настроены, но они неправильно перехватывали действительный трафик между файловым сервером и сервером БД примерно в 25% случаев.
Вместо этого мы настроили iptables и полностью отключили аппаратные брандмауэры. 100% доступность сейчас.
источник
У меня возникла та же проблема с Magento 2.1, и мой журнал ошибок mysql показал следующую ошибку несколько раз во время процесса «MySQL ушел»:
...[Warning] File Descriptor 1228 exceeded FD_SETSIZE=1024
Чтобы потенциально решить эту проблему, сначала проверьте
open files
значение с$ ulimit -n
, которое в моем случае было256
.Во-вторых, добавьте
table_open_cache = {that ulimit -n value}
в[mysqld]
разделе в вашемmy.cnf
.Теперь перезапустите MySQL и, надеюсь, вы вернулись к действию.
Примечание: я запускаю Magento 2.1 локально на OS X El Capitan с PHP 7.1 и сборкой MySQL 5.7.15 с Homebrew. Но я уверен, что это решение будет работать и на старых или на других установках.
источник
Отредактируйте файл app / etc / local.xml в папке Magento, заменив запись для хоста на «127.0.0.1» вместо «localhost».
источник
Произошла та же ошибка при переносе большой базы данных между 2 серверами.
Временное добавление следующего кода в файл конфигурации mysql (/etc/mysql/my.cnf) на моем локальном (целевом) сервере и перезапуск mysql (перезапуск службы mysql) устранило проблему для меня:
источник