Falha temporária na resolução de nomes: falha de pesquisa do nome do host

10

Eu tenho um script em PHP que está funcionando bem por meses. Ele recentemente parou de funcionar.

Este script conecta-se ao Gmail para enviar um e-mail para meus clientes.

Recentemente, comecei a receber esse erro ao executar o 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'

Tenha em mente que isso ocorreu com alterações de código zero.

Eu olhei para o meu resolv.conf e parece estar ok:

nameserver 208.67.222.222

Eu posso pingar 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  

Posso me conectar via lynx ao google e a outros sites sem problemas.

Eu entrei na minha conta do Gmail sem problemas (nem captcha lá).

Eu estou no final do juízo. Alguém tem alguma ideia?

G-Man

    
por GeoffreyF67 31.05.2009 / 05:19

6 respostas

12

O PHP está tendo problemas para acessar / etc / hosts ou /etc/resolv.conf: há um problema de longa data no PHP relacionado a esse erro específico. A correção é tentar reiniciar o Apache ou o que estiver chamando o PHP, ou para ter certeza de que o / etc / hosts e o /etc/resolv.conf são legíveis pelo que está chamando o PHP.

    
por 31.05.2009 / 05:33
6

Acabei de experimentar o mesmo erro e

service httpd restart

fez o truque ...

    
por 16.02.2010 / 11:39
2
% dig @208.67.222.222 smtp.gmail.com +short
gmail-smtp-msa.l.google.com.
209.85.201.109
209.85.201.111
%

Agora, tente usar o Xdebug para ver onde o problema está exatamente ...

<?php
xdebug_start_trace('/tmp/lookup-trace.log');
$ip = gethostbyname('smtp.gmail.com');
xdebug_stop_trace();
die($IP);
?>

Alguma coisa boa nos logs?

    
por 31.05.2009 / 05:55
1

Adicione o código de depuração antes dessa linha para garantir que o script possa resolvê-lo corretamente.

    
por 31.05.2009 / 05:30
0

Eu tive essa falha hoje, no entanto, ocorreu após um evento específico que me faz pensar que eu possa ter encontrado a causa.

Devido a alguns problemas no equipamento de rede, na verdade reiniciei o servidor e, quando ele voltou, havia uma conexão de rede incorreta no cabeamento, o que efetivamente significava que nenhum servidor DNS estava disponível.

Nesse meio tempo, essa função php foi chamada e depois disso, nunca mais funcionou até que eu reiniciei o httpd.

Acho que o bug pode estar relacionado a uma falha de rede (em que o DNS não está disponível apenas, mas inacessível, ou seja, sub-rede incorreta) e quando a rede recupera essa função posteriormente não procura o DNS novamente.

Esse era há alguns anos, talvez esse bug agora esteja corrigido no PHP?

    
por 27.06.2012 / 21:33
0

Eu estava tendo o seguinte problema ao atualizar o Magento 2 para a versão mais recente, então eu suspeito que é o problema com a configuração do 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

Resolvido, reiniciando o xampp através do comando.

sudo /opt/lampp/lampp/stop
sudo /opt/lampp/lampp/start

Em seguida, tentei o comando composer update novamente e funcionou como um encanto.

    
por 13.02.2017 / 08:54