2016-11-15 2 views
2

Ich habe eine PHP-Anwendung läuft auf einem Ubuntu-Server, auf NGINX.Mysqli :: real_connect() kaputtes Rohr alle 24 Stunden

Etwa alle 24 Stunden, bekomme ich diesen Fehler:

mysqli::real_connect(): send of 73 bytes failed with errno=32 Broken pipe

Die Lösung, die ich für sie wird neu gestartet. Durch den Neustart der nginx- und mysql-Dienste wird das Problem nicht behoben.

Dies ist eine konstante Sache, die für die letzten 4 Tage passiert ist. Jeden Morgen wache ich auf, versuche meine Website zu öffnen und bekomme diesen Fehler.

Hinweis: Wenn ich versuche, Verbindung zur DB mit Adminer oder DataGrip, funktioniert es gut. Aber aus irgendeinem Grund bekommt PHP diesen Fehler.

+0

Hat Ihr MySQL-Verbindung während der ganzen Zeit aktiv bleiben? – weigreen

+0

Nein. Ich öffne eine Verbindung für jede neue Anfrage – Amit

+0

Können Sie sehen, ob es eine Fehlermeldung in der Protokolldatei von mysql gibt? – weigreen

Antwort

0

Mit CodeIgniter, in der Datenbankkonfiguration haben Sie "pconnect". Wenn es auf "True" gesetzt ist, kann es diese Art von Problemen geben.

Fix:

Set config/database.php Datenbank config-param pconnect sein FALSE

0

Haben Sie eine schnelle Suche online, aber es scheint keine bekannten Fehler im Zusammenhang damit zu sein. Das lässt nur eine Handvoll Optionen übrig, von denen Netzwerk- oder Serverprobleme die zwei wahrscheinlichsten Kandidaten sind.

In beiden Fällen hat dies nichts mit dem PHP-Code zu tun, und Sie sollten in der mysql.err Datei auf dem Server weitere Informationen dazu finden können.
Alternativ können Sie auch Ihren Host kontaktieren und überprüfen lassen, ob es Probleme mit der Netzwerkverbindung gibt.

Eine weitere häufige Ursache für den Fehler "Rohrbruch" ist, wenn mysqldump verwendet wird und die Festplatte voll ist. Ich bin mir nicht sicher, wie relevant es für diesen Fall ist, aber es könnte sich lohnen, nach Problemen mit der Festplatte zu suchen.

+0

ist wieder passiert. Jetzt sah ich statt eines Neustarts die Protokolle an. Nichts alarmierend. Ich bat einen Systemtechniker, sich die Protokolle anzusehen: "Das erste Mal, dass ich diesen Fehler sehe. Nichts sieht verdächtig aus" Irgendwelche anderen Vorschläge? – Amit

Verwandte Themen