php_network_getaddresses - PHP php_network_getadddresses: error getaddrinfo: no se conoce tal host
php fopen wb (5)
Es más flexible usar curl
lugar de fopen
y file_get_content
para abrir una página web.
Tengo problemas de DNS con un determinado dominio de destino. Estoy usando fopen()
(pero el mismo problema con otras funciones) para recuperar una imagen, pero recibo este error: Warning: fopen(): php_network_getaddresses: getaddrinfo failed: No such host is known
Soy capaz de hacer ping o nslookup el dominio desde el símbolo del sistema, pero por alguna razón, php produce este error. Cuando intento fopen(''http://www.google.com'', r);
u otros dominios, todo va bien. Pero el dominio mencionado anteriormente simplemente no se resolverá con PHP. He vaciado el DNS, reinicié Apache, pero aún no he tenido suerte.
Lo he intentado con:
- Windows 7, Apache 2.2 PHP 5.3.6
- Windows server 2008r2, Apache 2.2 PHP 5.3.6
¿Qué puede hacer que este único dominio no se resuelva?
Lo que había causado este error en mi lado era la siguiente línea
include_once dirname(__FILE__) . ''./Config.php'';
Logré darme cuenta de que era el culpable cuando agregué las líneas:
//error_reporting(E_ALL | E_DEPRECATED | E_STRICT);
//ini_set(''display_errors'', 1);
a todos mis archivos php.
Para resolver el problema de la path issue
puse la línea ofensiva para:
include_once dirname(__FILE__) . ''/Config.php'';
OMI es la forma diferente de resolver un nombre del sistema operativo y PHP.
Tratar:
echo gethostbyname("host.name.tld");
y
var_export (dns_get_record ( "host.name.tld") );
o
$dns=array("8.8.8.8","8.8.4.4");
var_export (dns_get_record ( "host.name.tld" , DNS_ALL , $dns ));
Debes encontrar algún error de DNS / resolver.
Su "localhost" no puede resolver el nombre www.google.com, lo que significa que su máquina no puede / no puede alcanzar un servidor dns válido.
Intente hacer ping en google.com en la consola de esa máquina para verificar esto.
Una cosa rara que encontré fue que la variable de entorno SYSTEMROOT
debe configurarse; de lo contrario, getaddrinfo()
fallará en Windows 10.