PHP在CentOS上发生file_get_contents错误

file_get_contents( http://mirror.facebook.net/centos/timestamp.txt )[function.file-get-contents]:无法打开stream:HTTP请求失败!

新安装的CentOS 5.3盒子上的错误。 什么似乎是问题?

[编辑]我可以使用wget获取文件,我的网站可以获取RSS源,但是当我尝试file_get_contents()我得到上面的错误。 我不想改变它,因为它在Joomla的核心! 我正在使用的CMS。

提前致谢 :)

[编辑2]我更新了PHP到5.2.10,它仍然是相同的。

这将帮助你(和我们)确切地找出问题

strace php -r 'print_r(file_get_contents("http://mirror.facebook.net/centos/timestamp.txt"));' 

确保strace已经安装并粘贴在这里,不应该太长,你可能只是自己看到一些错误,find原因。

如果找不到问题,请在此inputstrace,find问题会更容易。

我的第一反应是,这很可能是SELinux,这使得您的PHP脚本不能build立出站networking连接。 这是默认启用,以帮助提高安全性。 您通常可以通过键入启用此function

 setsebool -P httpd_can_network_connect 1 

经过一番search似乎你必须确保在你的php.ini中启用了allow_url_fopen。

对我来说,这听起来很像连接问题。 盒子是否依赖于任何代理连接到互联网?

我会在评论中第二个Andy的build议,首先尝试wget,确定没有连接问题。

也尝试使用PHP CLI的简单testing。

 php -r'print_r(file_get_contents(“http://mirror.facebook.net/centos/timestamp.txt”));'