J'ai un script dans PHP icoup de fonctionne bien pendant des mois. Il a récemment cessé de fonctionner.
Ce script se connecte à Gmail pour envoyer un courrier électronique à 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'
N'oubliez pas que c'était avec des changements de code zéro.
J'ai regardé mon resolv.conf et il semble être ok:
nameserver 208.67.222.222
Je peux 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 connecter via Lynx à Google et à d'autres sites sans problème.
Je suis connecté à mon compte Gmail sans problème (pas de captcha là-bas non plus).
Je suis à la fin de Wits. Quelqu'un a des idées?
G-man
PHP a du mal à accéder à/etc/hosts ou /etc/resolv.conf: il y a un problème de longue date In PHP lié à cette erreur spécifique. Le correctif est Pour essayer de redémarrer Apache ou tout ce qui est invoquant PHP, ou à vous assurer/etc/hosts et /etc/resolv.conf sont lisibles par ce qui invoque php.
Je viens de vivre la même erreur et
service httpd restart
a fait le tour ...
% Dig @208.67.222.222 smtp.gmail.com +short
gmail-smtp-msa.l.google.com.
209.85.201.109
209.85.201.111
%
Maintenant, essayez d'utiliser Xdebug pour voir où le problème est exactement ....
<?php
xdebug_start_trace('/tmp/lookup-trace.log');
$ip = gethostbyname('smtp.gmail.com');
xdebug_stop_trace();
die($IP);
?>
Quelque chose de bien dans les journaux?
Ajoutez du code de débogage avant cette ligne pour vous assurer que le script peut le résoudre correctement.
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 d'équipement de réseau, je redémarrais effectivement par serveur et quand il est revenu, il y avait une connexion réseau incorrecte dans le câblage, ce qui signifie efficacement aucun serveur DNS n'était disponible.
entre-temps, cette fonction PHP a été appelée et après cela, elle n'a jamais fonctionné jusqu'à ce que je redémarre httpd.
Je pense que le bug peut être concerné à une défaillance de réseau (où le DNS n'est pas seulement disponible, mais inaccessible, c'est-à-dire un mauvais sous-réseau) et lorsque le réseau récupère ensuite cette fonction ne recherche plus la DNS.
Cette Thead était il y a quelques années, peut-être que ce bogue est maintenant fixé dans PHP?
J'avais le problème suivant lors de la mise à niveau de Magento 2 vers la dernière version, je suppose donc que c'est le problème avec la configuration PHP.
The "https://repo.magento.com/packages.json" file could not be downloaded: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
Résolu en redémarrant le XAMPP par la commande.
Sudo /opt/lampp/lampp/stop
Sudo /opt/lampp/lampp/start
Puis essayé le composer update
commandez à nouveau et cela a fonctionné comme un charme.