繁体   English   中英

PHP apcu_clear_cache:它是否特定于用户,如果是,如何解决它?

[英]PHP apcu_clear_cache: is it user-specific and if so how to get around it?

我正在使用 Laravel,我创建了一个 route:call 命令,其方式与以下问题中接受的答案相同: Call laravel controller via command line

现在我有一个如下所示的控制器:

class FooController
{
    public function apcuClear(Request $request) : void
    {
        apcu_clear_cache();
        echo "cleared";
    }
}

通过适当的路由设置,我可以使用php artisan route:call --uri=/foo/apcuClear route:call 命令,并且正确显示输出“已清除”。

然而,问题是 apcu 缓存没有被清除,每个对 Laravel 的请求仍然最终显示缓存值。

当通过实际的 HTTP 请求而不是通过命令行调用函数apcu_clear_cache()时,它本身被确认工作正常。

我的猜测是,由于用户“apache”在发出请求时正在运行 Laravel,这与用户在命令行上运行 route:call 命令不同, apcu_clear_cache没有清除正确的缓存。

我的猜测正确吗? 如果是这样,我如何使用命令行正确清除实际应用程序中的apcu?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM