我有一个这样的脚本
脚本.php
<?php
include "data/package.php";
echo $package[0]["name"];
echo "Hello World";
?>
我用这个来缓存错误
map $request_uri $cache_false {
default 0;
~^/data/package.php?$ 1;
~^/signin.php?$ 1;
}
...
fastcgi_cache cache
fastcgi_cache_bypass $cache_false;
fastcgi_no_cache $cache_false;
并使用页面package.php
中的会话signin.php
登录.php
$_SESSION['package'] = 1;
软件包.php
$package = packages($_SESSION['package']);
我想缓存script.php
内容$package
更改但不进行缓存,因为每个用户的内容都是不同的packages()
。
和页面的$cache_false = 1
设置是否会改变内容?signin
package
include()
我是否只需要使用 javascript 并从客户端添加内容?
答案1
nginx 会缓存 URL 的完整响应。如果您请求https://www.example.com/script.php
,nginx 会将请求传递给 PHP-FPM,后者在访问 URL 时会首次执行脚本。
nginx 返回缓存的内容以供后续请求。
因此,如果存在include
in script.php
,它会第一次执行,然后不再执行,因为script.php
输出已在缓存中。