所以我的博客在我当前的VPS服务器上运行正常,但决定开始迁移到新的专用服务器,这就是我的麻烦开始的地方。
我注意到我的网页严重悬挂,但它们只发生在我的博客上,而不是静态页面上。然后,当我进入wp-admin部分时,我意识到它们没有挂起,这让我可以解决file_get_contents问题。从我的主题中删除后,博客完全加载。
所以,我不知道该怎么做。我的服务器目前有APF防火墙,但我加载到SSH并暂时禁用它。它正在运行CSF,但我的管理公司交换到APF以查看是否会改变它。
运行CSF后,它无效。 APF运行,仍然无法正常工作。 APF禁用,没有用。
我现在还不确定它是防火墙,但我不知道它还能是什么。在php.ini中,allow_url_fopen设置为'on',但是我错过了什么?还有什么允许服务器访问远程文件?
就像我说的,这在我的VPS服务器上运行正常,所以文件有效,我只是不知道可能导致挂断的原因。
有什么建议吗?谢谢!
答案 0 :(得分:1)
尝试在file_get_contents上保持超时。
// set socket timeout
ini_set('default_socket_timeout', 60);
// read page contents
$response = file_get_contents("http://www.yoursite.com");
答案 1 :(得分:0)
如果您向异地域(例如www.google.com)发出请求,您可能会发现速度减慢是由于DNS查询速度慢。如果您提出这样的请求,我会提出一些建议:
wget
或cURL
请求执行相同的操作,并在下载之前查看是否需要一段时间才能解决。如果是这样,通常会表明您遇到了网络问题。 Wordpress主题调用file_get_contents
似乎很奇怪。我会调查它正在查找的内容并确认您确实希望它加载远程文件。