J'ai un script en PHP qui fonctionne bien depuis des mois. Il a récemment cessé de fonctionner.
Ce script se connecte à gmail pour envoyer un e-mail à mes clients.
Récemment, j'ai commencé à obtenir cette erreur lorsque j'exécute le script:
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'
Gardez à l'esprit que c'était avec zéro changement de code.
J'ai regardé mon resolv.conf et il semble être correct:
nameserver 208.67.222.222
Je peux envoyer une requête ping à gmail.com:
# 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
Je peux me connecter via lynx à Google et à d'autres sites sans problème.
Je me suis connecté à mon compte gmail sans problème (pas de captcha là non plus).
Je suis à bout de souffle. Quelqu'un a des idées?
G-Man
domain-name-system
php
email
smtp
getaddrinfo
GeoffreyF67
la source
la source
Réponses:
PHP a du mal à accéder à / etc / hosts ou /etc/resolv.conf: il y a un problème de longue date en PHP lié à cette erreur spécifique. Le correctif consiste à essayer de redémarrer Apache ou tout ce qui appelle PHP, ou à s'assurer que / etc / hosts et /etc/resolv.conf sont lisibles par ce qui appelle PHP.
la source
Je viens de vivre la même erreur et
a fait l'affaire ...
la source
Maintenant, essayez d'utiliser Xdebug pour voir où se situe exactement le problème ....
Quelque chose de bon dans les journaux?
la source
Ajoutez du code de débogage avant cette ligne pour vous assurer que le script peut le résoudre correctement.
la source
J'ai eu cette faute aujourd'hui, mais elle s'est produite après un événement spécifique qui me fait penser que j'ai peut-être trouvé la cause.
En raison de certains problèmes liés à l'équipement réseau, j'ai redémarré le serveur et lorsqu'il est revenu, il y avait une connexion réseau incorrecte dans le câblage, ce qui signifie qu'aucun serveur DNS n'était disponible.
en attendant, cette fonction php a été appelée et après cela, elle n'a plus fonctionné jusqu'à ce que je redémarre httpd.
Je pense que le bogue peut être lié à une défaillance du réseau (où le DNS n'est pas seulement non disponible, mais inaccessible, c'est-à-dire un sous-réseau incorrect) et lorsque le réseau récupère par la suite cette fonction ne recherche plus le DNS.
Cette thead était il y a quelques années, peut-être que ce bug est maintenant corrigé en PHP?
la source
J'avais le problème suivant lors de la mise à niveau de magento 2 vers la dernière version, donc je soupçonne que c'est le problème avec la configuration php.
Résolu en redémarrant la commande xampp through.
Ensuite, j'ai essayé à
composer update
nouveau la commande et cela a fonctionné comme un charme.la source