我已经有一个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'
请记住,这是零代码更改。
我已经看了我的resolv.conf,它似乎是好的:
nameserver 208.67.222.222
我可以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
我可以通过l connect连接到谷歌和其他网站没有问题。
我login到我的Gmail帐户没有问题(也没有validation码)。
我很有智慧。 任何人有任何想法?
G-人
PHP在访问/ etc / hosts或/etc/resolv.conf时遇到了问题: PHP中存在一个与此特定错误有关的长期问题 。 解决办法是尝试重新启动Apache或任何调用PHP,或确保/ etc / hosts和/etc/resolv.conf可以通过调用PHP进行读取。
我刚刚经历了同样的错误和
service httpd restart
诀窍…
% dig @208.67.222.222 smtp.gmail.com +short gmail-smtp-msa.l.google.com. 209.85.201.109 209.85.201.111 %
现在,尝试使用Xdebug来查看问题的确切位置….
<?php xdebug_start_trace('/tmp/lookup-trace.log'); $ip = gethostbyname('smtp.gmail.com'); xdebug_stop_trace(); die($IP); ?>
日志里有什么好东西?
在该行之前添加debugging代码,以确保该脚本可以正确parsing它。
我在升级magento 2到最新版本时遇到以下问题,所以我怀疑这是phpconfiguration的问题。
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
通过重新启动xampp通过命令解决它。
sudo /opt/lampp/lampp/stop sudo /opt/lampp/lampp/start
然后再次尝试了composer update命令,它像一个魅力。
今天我有这样的错误,不过是在一个特定事件之后发生的,这个事件让我觉得我可能find了原因。
由于某些networking设备的问题,我实际上是通过服务器重新启动的,当它恢复的时候,电缆中的networking连接不正确,这意味着没有DNS服务器可用。
在此期间,这个PHP函数被调用,在此之后,它再也没有工作,直到我重新启动httpd。
我认为这个错误可能与networking故障(DNS不仅不可用,而且不可达,即错误的子网)有关,而且当networking随后恢复时,不会再次查找DNS。
这个是几年前,也许这个错误现在在PHP中修复?