名称解析暂时失败:主机名查找失败

Geo*_*F67 11 domain-name-system email php smtp getaddrinfo

我有一个 PHP 脚本,它运行了好几个月。它最近停止工作。

此脚本连接到 gmail 以向我的客户发送电子邮件。

最近,我在运行脚本时开始收到此错误:

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'
Run Code Online (Sandbox Code Playgroud)

请记住,这是零代码更改。

我查看了我的 resolv.conf 似乎没问题:

nameserver 208.67.222.222
Run Code Online (Sandbox Code Playgroud)

我可以 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  
Run Code Online (Sandbox Code Playgroud)

我可以通过 lynx 连接到谷歌和其他网站,没有问题。

我已经登录我的 gmail 帐户没有问题(那里也没有验证码)。

我不知所措。谁有想法?

G-Man

小智 14

PHP 在访问 /etc/hosts 或 /etc/resolv.conf 时遇到问题: PHP 中存在与此特定错误相关的长期问题。解决方法是尝试重新启动 Apache 或任何调用 PHP 的东西,或者确保 /etc/hosts 和 /etc/resolv.conf 可以被调用 PHP 的东西读取。

  • 是的,但是下次重启需要多长时间?我会进一步寻找并找到问题的根本原因。 (4认同)

小智 6

我刚刚遇到了同样的错误

service httpd restart
Run Code Online (Sandbox Code Playgroud)

成功了……