Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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文件进行指纹识别_Php_Html_Css_.htaccess_Caching - Fatal编程技术网

对PHP文件进行指纹识别

对PHP文件进行指纹识别,php,html,css,.htaccess,caching,Php,Html,Css,.htaccess,Caching,在链接到JS、图像或CSS文件等网页资产时,您可以附加“?v=$timestamp或random number”以确保服务器加载文件的最新版本,但在PHP中附加“require_once”或“include_once”时,可以附加“?v=$timestamp或random number”抛出一条警告打开流失败 我的问题是如何在包含PHP文件的同时实现相同的功能 谢谢。时间戳技巧用于浏览器缓存文件以确保加载当前版本 include和require通常用于从未缓存的本地文件系统加载文件,因此不需要对

在链接到JS、图像或CSS文件等网页资产时,您可以附加“
?v=$timestamp或random number
”以确保服务器加载文件的最新版本,但在PHP中附加“
require_once
”或“
include_once
”时,可以附加“
?v=$timestamp或random number
”抛出一条警告
打开流失败

我的问题是如何在包含PHP文件的同时实现相同的功能


谢谢。

时间戳技巧用于浏览器缓存文件以确保加载当前版本

include
require
通常用于从未缓存的本地文件系统加载文件,因此不需要对它们进行指纹识别


如果您正在远程加载PHP库,(例如,
include()http://www.example.com/someLibrary.php“)
)没有浏览器来缓存它,所以通常也应该如此,但是指纹无论如何都应该能够阻止任何可能会妨碍的代理缓存。

时间戳技巧用于浏览器缓存文件以确保加载当前版本

include
require
通常用于从未缓存的本地文件系统加载文件,因此不需要对它们进行指纹识别


如果您正在远程加载PHP库,(例如,
include()http://www.example.com/someLibrary.php“)
)没有浏览器来缓存它,所以通常也应该如此,但是指纹无论如何都应该可以阻止任何可能会妨碍您的代理缓存。

但是如果您使用的是opcache,那么它可能会被配置为使用内存中编译的代码,并且很少或从不检查底层文件,这一行为不应该从代码内部操纵。@symcbean I已尝试禁用
ini_集('opcache.enable','0')
但是代码一直在加载内存编译的代码,所以我重命名了文件以提供更新版本,但这并不能解决实际问题。“不应该从代码内部操纵这种行为”。关闭opcache是一个非常糟糕的主意。在php.ini文件中,将opcache.revalidate\u freq设置为0,将opcache.validate\u时间戳设置为1@symcbean尝试了这个,问题仍然存在1)你从未说过问题是什么。2) 您需要做的不仅仅是更改配置文件。但是,如果您使用的是opcache,则它可能会被配置为使用内存中编译的代码,并且很少或从不检查底层文件,这一行为不应该从代码内部进行操作。@symcbean我尝试禁用
ini\u集('opcache.enable','0');
但代码一直在加载内存编译代码,因此我重命名了文件以提供更新版本,但这并不能解决实际问题。“不应从代码内部操纵此行为”。关闭opcache是一个非常糟糕的主意。在php.ini文件中,将opcache.revalidate\u freq设置为0,将opcache.validate\u timestamps设置为01@symcbean尝试了这个,问题仍然存在1)你从未说过问题是什么。2) 您需要做的不仅仅是更改配置文件。