Ich habe ein Skript in PHP, das seit Monaten einwandfrei läuft. Es hat vor kurzem aufgehört zu arbeiten.
Dieses Skript stellt eine Verbindung zu Google Mail her, um eine E-Mail an meine Kunden zu senden.
Vor kurzem wurde dieser Fehler angezeigt, als ich das Skript ausführte:
The SMTP connection failed to start [tls://smtp.gmail.com:465]:
fsockopen returned Error Number 0 and Error String 'php_network_getaddresses:
getaddrinfo failed: Temporary failure in name resolution'
Denken Sie daran, dies war ohne Codeänderungen.
Ich habe mir meine resolv.conf angesehen und es scheint in Ordnung zu sein:
nameserver 208.67.222.222
Ich kann gmail.com anpingen:
# ping smtp.gmail.com
PING gmail-smtp-msa.l.google.com (74.125.93.111) 56(84) bytes of data.
64 bytes from qw-in-f111.google.com (74.125.93.111): icmp_seq=1 ttl=247 time=26.7 ms
Ich kann mich problemlos über Luchs mit Google und anderen Websites verbinden.
Ich habe mich ohne Probleme in meinem Google Mail-Konto angemeldet (auch dort kein Captcha).
Ich bin am Ende. Hat jemand irgendwelche Ideen?
G-Man
domain-name-system
php
email
smtp
getaddrinfo
GeoffreyF67
quelle
quelle
Antworten:
PHP hat Probleme beim Zugriff auf / etc / hosts oder /etc/resolv.conf: Es gibt ein seit langem bestehendes Problem in PHP, das mit diesem speziellen Fehler zusammenhängt. Die Lösung besteht darin, zu versuchen, Apache oder was auch immer PHP aufruft, neu zu starten oder sicherzustellen, dass / etc / hosts und /etc/resolv.conf für das, was PHP aufruft, lesbar sind.
quelle
Ich habe gerade den gleichen Fehler erlebt und
hat den Trick gemacht ...
quelle
Versuchen Sie nun, Xdebug zu verwenden, um festzustellen, wo genau das Problem liegt.
Etwas Gutes in den Protokollen?
quelle
Fügen Sie vor dieser Zeile Debugging-Code hinzu, um sicherzustellen, dass das Skript ihn korrekt auflösen kann.
quelle
Ich hatte diesen Fehler heute, aber er trat nach einem bestimmten Ereignis auf, das mich glauben lässt, dass ich die Ursache gefunden habe.
Aufgrund einiger Probleme mit der Netzwerkausrüstung wurde ich tatsächlich vom Server neu gestartet, und als es wieder hochfuhr, gab es eine falsche Netzwerkverbindung in der Verkabelung, was effektiv bedeutete, dass kein DNS-Server verfügbar war.
In der Zwischenzeit wurde diese PHP-Funktion aufgerufen und danach funktionierte sie nie wieder, bis ich httpd neu startete.
Ich denke, der Fehler kann sich auf einen Netzwerkfehler beziehen (bei dem das DNS nicht nur nicht verfügbar, sondern auch nicht erreichbar ist, dh ein falsches Subnetz), und wenn das Netzwerk diese Funktion anschließend wiederherstellt, sucht es nicht erneut nach dem DNS.
Dieser Thead war vor ein paar Jahren, vielleicht ist dieser Fehler jetzt in PHP behoben?
quelle
Ich hatte das folgende Problem beim Upgrade von Magento 2 auf die neueste Version, daher vermute ich, dass es das Problem mit der PHP-Konfiguration ist.
Es wurde behoben, indem der Befehl xampp through neu gestartet wurde.
Dann versuchte
composer update
ich es erneut und es funktionierte wie ein Zauber.quelle