如果我尝试运行以下命令:
<?php echo file_get_contents("http://www.yahoo.com/index.html"); ?>
通过网络服务器我得到了一个“ php_network_getaddresses: getaddrinfo
”错误。
如果我使用以下命令从 shell 运行同一个文件:
php test.php
然后我得到了预期的文件输出。
这表明,运行 Web 服务器的“nobody”用户无法解析域名,但 shell 用户可以。
有想法该怎么解决这个吗?
更多信息:CentOS 6、cPanel 安装、Apache、作为 dso 运行的 PHP。
顺便说一句,我尝试禁用防火墙,但没有效果。
[已解决] - 当我发现 gethostbyname() 正在工作时,我意识到这是内部缓存问题。服务器重启似乎解决了这个问题。
答案1
来自 jalal 后来的评论:“[已解决] - 当我发现 gethostbyname() 正在工作时,我意识到这是一些内部缓存问题。服务器重启似乎已经解决了这个问题。”
重复 EightBitTony 评论 - 请将此问题标记为已回答。