Tengo un script en PHP que ha estado funcionando bien durante meses. Recientemente dejó de funcionar.
Este script se conecta a gmail para enviar un correo electrónico a mis clientes.
Recientemente, comencé a recibir este error cuando ejecuto el 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'
Tenga en cuenta que esto fue con cero cambios de código.
He mirado mi resolv.conf y parece estar bien:
nameserver 208.67.222.222
Puedo hacer ping a 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
Puedo conectarme a través de Lynx a Google y otros sitios sin ningún problema.
He iniciado sesión en mi cuenta de Gmail sin problemas (tampoco hay captcha).
Estoy al final del ingenio. ¿Alguien tiene alguna idea?
G-Man
domain-name-system
php
email
smtp
getaddrinfo
GeoffreyF67
fuente
fuente
Respuestas:
PHP tiene problemas para acceder a / etc / hosts o /etc/resolv.conf: hay un problema de larga data en PHP relacionado con este error específico. La solución es intentar reiniciar Apache o lo que sea que esté invocando PHP, o asegurarse de que / etc / hosts y /etc/resolv.conf sean legibles por lo que invoca PHP.
fuente
Acabo de experimentar el mismo error y
Hizo el truco...
fuente
Ahora, intente usar Xdebug para ver dónde está exactamente el problema ...
¿Algo bueno en los registros?
fuente
Agregue código de depuración antes de esa línea para asegurarse de que el script pueda resolverlo correctamente.
fuente
Hoy he tenido esta falla, sin embargo, ocurrió después de un evento específico que me hace pensar que podría haber encontrado la causa.
Debido a algunos problemas con el equipo de red, en realidad reinicié por servidor y cuando volvió a funcionar, había una conexión de red incorrecta en el cableado, lo que significa que no había ningún servidor DNS disponible.
Mientras tanto, se llamó a esta función php y después de esto nunca volvió a funcionar hasta que reinicié httpd.
Creo que el error puede estar relacionado con una falla de la red (donde el DNS no solo no está disponible, sino que no es accesible, es decir, una subred incorrecta) y cuando la red se recupera posteriormente, esta función no busca el DNS nuevamente.
Este thead fue hace unos años, ¿tal vez este error ahora está solucionado en PHP?
fuente
Estaba teniendo el siguiente problema al actualizar magento 2 a la última versión, por lo que sospecho que es el problema con la configuración de php.
Lo resolvió reiniciando el comando xampp through.
Luego probé el
composer update
comando nuevamente y funcionó de maravilla.fuente