Ich habe viele seltsame Probleme mit Magento CE 1.7.0.2. Während des normalen Betriebs erstellt die Site gelegentlich eine Magento-Fehlerseite (bei der Verarbeitung Ihrer Anfrage ist ein Fehler aufgetreten ) sowohl im Frontend als auch im Backend. Beim Anzeigen des zugehörigen Berichts wird die folgende Meldung angezeigt:
"SQLSTATE[HY000] [2006] MySQL server has gone away"
Manchmal, aber seltener, lautet die Meldung:
Connection reset by peer
Ich habe mir die Datei var> log> system.log angesehen und der MySQL has gone away
Fehler wird von Folgendem begleitet:
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
Darüber hinaus scheint der folgende Fehler bei jeder Anforderung sowie bei den MySQL has gone away
Fehlern aufzutreten:
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
Ich habe mir die meisten Artikel angesehen, die ich darüber finden kann, und an den Datenbankparametern herumgebastelt, bis die Kühe nach Hause kamen, aber der Fehler bleibt bestehen.
Nachdem ich eine weitere Frage zum Compiler beantwortet habe, stelle ich fest, dass die Administrationsseite System> Tools> Compilation vollständig leer ist. Ich denke, das sind alles verwandte Fehler, aber jeder Einblick in das Debuggen oder die Ursachen wäre so hilfreich.
Ich entschuldige mich, wenn dies inkohärent ist; Ich bin seit ungefähr 42 Stunden wach, bitte um Klärung. Vielen Dank.
- update -
Mein Server-Stack zur Verdeutlichung:
PHP 5.5.4 (PHP-FPM)
Nginx 1.4.2
MySQL 5.5.33
- update -
Mir ist (nach etwas Schlaf) aufgefallen, dass ich nie spezifiziert habe - die PHP-Codebasis und die MySQL-Datenbank befinden sich auf getrennten Hardware-Servern - sehr wichtig zu wissen, ob Sie mir helfen werden !! Ich entschuldige mich.
quelle
Antworten:
Dies liegt hauptsächlich an einem der beiden folgenden Gründe
Behebung: Erhöhen Sie die
wait_timeout
Variable in dermy.cnf/my.ini
Konfigurationsdatei Ihres mysqld .Fix: Erhöhen Sie die maximale Paketgröße, indem Sie den Wert von
max_allowed_packet
inmy.cnf/my.ini
file erhöhen .Bitte checken Sie Dateien ein, wenn Sie versuchen, etwas zu Langes oder Unzutreffendes zu bekommen.
quelle
max_allowed_packet
auf 2G undwait_timout
auf 86400 eingestellt, immer noch keine Hilfe.Problem gelöst! Vielen Dank an alle für die Hilfe. Dies war ein Hardware- Firewall-Problem mit dem Webhost, selbst nachdem sie von uns deaktiviert wurden.
Wie vom Serverteam von 1 & 1 bestätigt , wurden die Hardware-Firewalls korrekt konfiguriert, aber in etwa 25% der Fälle wurde der gültige Datenverkehr zwischen dem Dateiserver und dem Datenbankserver fälschlicherweise abgefangen.
Wir haben stattdessen iptables konfiguriert und die Hardware-Firewalls vollständig heruntergefahren. 100% Verfügbarkeit jetzt.
quelle
Ich hatte das gleiche Problem mit Magento 2.1 und mein MySQL-Fehlerprotokoll zeigte während des Prozesses "MySQL ist weg" mehrmals den folgenden Fehler:
...[Warning] File Descriptor 1228 exceeded FD_SETSIZE=1024
Um dieses Problem möglicherweise zu beheben, überprüfen Sie zunächst den
open files
Wert mit$ ulimit -n
, der in meinem Fall lautete256
.Zweitens fügen Sie
table_open_cache = {that ulimit -n value}
unter dem[mysqld]
Abschnitt in Ihremmy.cnf
.Nun starte MySQL neu und hoffentlich bist du wieder dabei.
Hinweis: Ich führe Magento 2.1 lokal unter OS X El Capitan mit PHP 7.1 und MySQL 5.7.15 aus, das mit Homebrew erstellt wurde. Aber ich wette, diese Lösung würde auch auf älteren oder anderen Setups funktionieren.
quelle
Bearbeiten Sie die Datei app / etc / local.xml in Ihrem Magento-Ordner und ersetzen Sie den Eintrag für den Host mit '127.0.0.1' anstelle von 'localhost'.
quelle
Beim Migrieren einer großen Datenbank zwischen zwei Servern ist der gleiche Fehler aufgetreten.
Das vorübergehende Hinzufügen der folgenden Elemente in der mysql-Konfigurationsdatei (/etc/mysql/my.cnf) auf meinem lokalen (Ziel-) Server und das Neustarten von mysql (Dienst-mysql-Neustart) haben das Problem für mich behoben:
quelle