在php中缓存包含的远程文件

在php中缓存包含的远程文件,php,Php,我在制作后包括一个远程文件 allow_url_include = On 在file.php中使用include_一次性包含该文件 include_once ("http://abcd.com/func.php"); 我用的是简单的灯堆 我的问题是,对于每个到服务器并使用file.php的请求,func.php都将从abcd.com中提取。在一个请求中,如果file.php多次包含在其他文件中,是否每次都会拉取func.php?一次\u意味着您将在每个请求中加载一次文件。但将在新请求时再次加

我在制作后包括一个远程文件

allow_url_include = On
在file.php中使用include_一次性包含该文件

include_once ("http://abcd.com/func.php");
我用的是简单的灯堆


我的问题是,对于每个到服务器并使用file.php的请求,func.php都将从abcd.com中提取。在一个请求中,如果file.php多次包含在其他文件中,是否每次都会拉取func.php?

一次
\u意味着您将在每个请求中加载一次文件。但将在新请求时再次加载它。如果要缓存此文件的某些响应,请在包含的文件中执行
返回
,并将结果保存到任意位置。例如,在文本文件中(即作为JSON字符串)。在下一个请求中,您将检查该文件是否存在

但是,保存在文本文件中可能不是最有效的方法,但可能比每次请求该文件都要快。看看

包括在风险值中:
$data=include_once(“…”)(包含必须有返回)


$data=cached\u include(“..”)
(为获取缓存数据而编写的函数)

如果include在函数中,那么答案是每次调用函数时都会调用它。如果调用该函数一次,则它将被调用一次。。如果调用该函数两次,它将被调用两次。如果它在函数外部,而您只包含一次,则只会调用一次,并且返回的php(尽管您不应该通过远程包含获取原始php)将被存储,直到脚本完成为止。@Zak如果脚本文件.php(包含include_once(“);)被多次包含在同一请求中使用的其他文件中,那么func.php是否每次都会被拉入?否..因为您使用的是
include\u一次
而不仅仅是
include
操作码缓存能否以类似的方式解决此问题?@Pilanim确实有几种方法,但您不能使用任何运行的方法只为请求服务因此,无论您在php运行时编写什么,quest都只会持续那么长的时间