php_network_getaddresses name mysqli_connect hy000 failure failed desconocido php warnings

name - Error de PHP: php_network_getaddresses: error de getaddrinfo:(al obtener información de otro sitio).



php_network_getaddresses: getaddrinfo failed: temporary failure in name resolution (6)

Al intentar obtener información de una fuente externa, recibo el siguiente error:

Advertencia : php_network_getaddresses: error getaddrinfo: fallo temporal en la resolución de nombres en la línea # ...

Ayer todo estuvo bien, entonces, ¿qué pasó con este script, que no funciona y me da el error anterior? ¿Alguna solución o sugerencia para resolver este problema?

$uri = "http://api.hostip.info/?ip=$ip&position=true"; $dom->load($uri);

También intenté convirtiendo DNS a IP, pero luego aparece la advertencia: failed to open

$uri = "174.129.200.54/?ip=$ip&position=true";

Intenté quitar el http pero todavía obtengo el error anterior.


Aunque este es un tema antiguo, recientemente encontré el mismo error al ejecutar nslookup en CentOS 7 y la búsqueda en google me llevó a algunas de las discusiones en SO, incluida esta. Sin embargo, agregar las entradas de los servidores de nombres a /etc/resolv.conf por sí solo no ayudó, ya que los valores de los servidores de nombres en resolv.conf fueron sobrescritos por el NetworkManager con los servidores de nombres DNS predeterminados que están en el perfil eth asociado a la configuración IP de Ethernet.

Como lo menciona @ m-canvar, configure las siguientes entradas en /etc/resolv.conf

search yourdomain.com nameserver 8.8.8.8 nameserver 4.2.2.1 nameserver 8.8.4.4

Para evitar que OverManager sobrescriba estas entradas, hay dos enfoques:

Opción 1: Establezca NM_CONTROLLED = no en el perfil eth asociado al perfil IPv4 / IPv6.

Opción 2: deshabilitar el servicio NetworkManager para que no se ejecute.

chkconfig NetworkManager off service NetworkManager stop

Más detalles pueden ser referidos en mi publicación acerca de este error y solución .


En el siguiente archivo httpd.conf , configure el ServerName correctamente.

/etc/httpd/conf/httpd.conf

Como abajo:

ServerName 127.0.0.1:80

o

ServerName sitename

Esto resolvió un problema similar al que me enfrentaba.


En mi caso (mi máquina es ubuntu 16), /etc/resolvconf/resolv.conf.d/base archivo /etc/resolvconf/resolv.conf.d/base agregando las siguientes líneas ns.

nameserver 8.8.8.8 nameserver 4.2.2.1 nameserver 2001:4860:4860::8844 nameserver 2001:4860:4860::8888

a continuación, ejecute el script de actualización,

resolvconf -u


Es porque no puede resolver el nombre del host. Tal vez problemas con el DNS, el host es inalcanzable ...

intente utilizar la dirección IP en lugar del nombre de host ... haga ping a este nombre de host ... nslookup it ...


Me imagino que los servidores DNS de caché que estás usando no se están comportando correctamente (o el servidor DNS para el dominio que estás resolviendo no funciona correctamente). Puedes intentar arreglar la posibilidad anterior.

¿Tiene al menos 2 servidores de nombres registrados en su adaptador de red? Siempre puede cambiar su computadora para usar un servidor DNS de almacenamiento en caché diferente para descartar esto. Prueba de Google:

8.8.8.8 8.8.4.4


Si puede descartar interrupciones transitorias en el servidor remoto al que está intentando conectarse, eso deja la configuración de la red local como un problema.

Usar la dirección IP en lugar del nombre de host solo funcionará para el dominio predeterminado en el host remoto.

¿Qué sucede cuando intenta utilizar www.google.com (o su dirección IP)? Si aún no puede conectarse, entonces es algo que tiene que ver con la red entre su servidor y el mundo exterior.