Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 文件\u获取\u内容导致服务器挂起_Php_File Get Contents - Fatal编程技术网

Php 文件\u获取\u内容导致服务器挂起

Php 文件\u获取\u内容导致服务器挂起,php,file-get-contents,Php,File Get Contents,所以我的博客在我当前的VPS服务器上运行正常,但我决定开始迁移到一个新的专用服务器,这就是我的麻烦开始的地方 我注意到我的页面挂得不好,但它们只出现在我的博客上,而不是静态页面上。然后,当我转到wp管理部分时,我意识到它们不会挂起,这使我能够解决文件内容的问题。一旦从我的主题中删除,博客就可以完美加载 所以,我不知道该怎么办。我的服务器目前有APF防火墙,但我加载到SSH中并暂时禁用了它。它在运行CSF,但我的管理公司换成了APF,看看这是否会改变它 CSF运行时,它不起作用。APF正在运行,但

所以我的博客在我当前的VPS服务器上运行正常,但我决定开始迁移到一个新的专用服务器,这就是我的麻烦开始的地方

我注意到我的页面挂得不好,但它们只出现在我的博客上,而不是静态页面上。然后,当我转到wp管理部分时,我意识到它们不会挂起,这使我能够解决文件内容的问题。一旦从我的主题中删除,博客就可以完美加载

所以,我不知道该怎么办。我的服务器目前有APF防火墙,但我加载到SSH中并暂时禁用了它。它在运行CSF,但我的管理公司换成了APF,看看这是否会改变它

CSF运行时,它不起作用。APF正在运行,但仍然不起作用。APF已禁用,无法工作

我甚至不确定这是不是防火墙,但我不知道它还能是什么。allow\u url\u fopen在php.ini中设置为“on”,但我是否遗漏了什么?还有什么允许服务器访问远程文件

就像我说的,这在我的VPS服务器上运行正常,所以文件运行正常,我只是不知道是什么导致了挂断


有什么建议吗?谢谢

尝试在文件获取内容上保持超时

// set socket timeout
ini_set('default_socket_timeout', 60);

// read page contents
$response = file_get_contents("http://www.yoursite.com");

尝试在文件获取内容上保持超时

// set socket timeout
ini_set('default_socket_timeout', 60);

// read page contents
$response = file_get_contents("http://www.yoursite.com");

如果您向异地域(如www.google.com)发出请求,您可能会发现速度变慢是由于DNS查找速度变慢所致。如果你提出这样的要求,我有一些建议:

  • 在php之外测试它:通过ssh对同一URL执行类似于
    wget
    cURL
    的请求,并查看在下载之前是否需要一段时间才能解析。如果是这样的话,通常表明您有网络问题
  • 缓存响应:如果您请求的数据不经常更改,请尝试将响应缓存到文件或数据库。这将减少用户的加载时间,并提高总体性能。这可以简单到将内容写入本地磁盘上的文件,并每隔一段时间更新一次

Wordpress主题调用
file\u get\u contents
似乎有些奇怪。我将确切地调查它正在寻找什么,并确认您确实希望它加载远程文件。

如果您向非现场域(例如www.google.com)发出请求,您可能会发现速度减慢是由于DNS查找速度慢。如果你提出这样的要求,我有一些建议:

  • 在php之外测试它:通过ssh对同一URL执行类似于
    wget
    cURL
    的请求,并查看在下载之前是否需要一段时间才能解析。如果是这样的话,通常表明您有网络问题
  • 缓存响应:如果您请求的数据不经常更改,请尝试将响应缓存到文件或数据库。这将减少用户的加载时间,并提高总体性能。这可以简单到将内容写入本地磁盘上的文件,并每隔一段时间更新一次

Wordpress主题调用
file\u get\u contents
似乎有些奇怪。我会确切地调查它在寻找什么,并确认您确实希望它加载远程文件。

是的,我是将文件内容放入主题的人。因为我有一个网站网络,它可以远程添加我的网络等内容,所以我不必为了一个小改动就修改50多个博客。是的,是我把文件内容放到主题中的。因为我有一个网站网络,它会添加一些东西,比如我的远程网络,等等,所以我不必为了一个小的改变而改变50多个博客。