Php 如何将自定义行为添加到symfony缓存:清除?

Php 如何将自定义行为添加到symfony缓存:清除?,php,caching,symfony1,symfony-1.4,apc,Php,Caching,Symfony1,Symfony 1.4,Apc,我需要在执行./symfony cc命令时添加一个对new sfAPCCache->clean或apc\u clear\u cache的简单调用 有人知道如何做到这一点吗?我应该在哪一点编辑我的symfony应用程序,或者我应该如何注册此附加行为?您只需要创建自己的自定义任务 ./symfony generate:task your_task_name 在lib文件夹中的这个任务中,您只需运行以下命令 protected function execute($arguments = array(

我需要在执行./symfony cc命令时添加一个对new sfAPCCache->clean或apc\u clear\u cache的简单调用


有人知道如何做到这一点吗?我应该在哪一点编辑我的symfony应用程序,或者我应该如何注册此附加行为?

您只需要创建自己的自定义任务

./symfony generate:task your_task_name
在lib文件夹中的这个任务中,您只需运行以下命令

protected function execute($arguments = array(), $options = array())
{
    // Run your own apc cache
    // ...

    /// Then run the cache:clear
    $this->runTask('cache:clear');
}

您只需创建自己的自定义任务

./symfony generate:task your_task_name
在lib文件夹中的这个任务中,您只需运行以下命令

protected function execute($arguments = array(), $options = array())
{
    // Run your own apc cache
    // ...

    /// Then run the cache:clear
    $this->runTask('cache:clear');
}

事实上,我发现我可以监听一个事件来添加新行为。/symfony cc:


仍然是一个无法从命令行任务中清除APC缓存的问题,因为APC缓存与web服务器进程相关,而symfony命令是一个命令行脚本。

实际上,我发现我可以侦听一个事件来添加新行为。/symfony cc:


仍然存在无法从命令行任务中清除APC缓存的问题,因为APC缓存与web服务器进程相关,而symfony命令是一个命令行脚本。

在我们的系统中,symfony cache:clear命令以集中方式在大量应用程序上调用,因此,我可以覆盖缓存的行为非常重要:清除。不幸的是,添加新任务并不能解决这个问题。@francescostablum,但正如我所说,您没有很多其他选项。事实上,我发现我可以侦听一个事件:$this->dispatcher->connect'task.cache.clear',array'clearapcache','clearCache';-仍然存在无法从命令行任务中清除APC缓存的问题。因为APC缓存与web服务器进程相关,而symfony命令是命令行脚本。这是我从实验中了解到的。不确定是否100%正确在我们的系统中,命令symfony cache:clear以集中方式在大量应用程序上调用,因此我可以覆盖cache:clear的行为非常重要。不幸的是,添加新任务并不能解决这个问题。@francescostablum,但正如我所说,您没有很多其他选项。事实上,我发现我可以侦听一个事件:$this->dispatcher->connect'task.cache.clear',array'clearapcache','clearCache';-仍然存在无法从命令行任务中清除APC缓存的问题。因为APC缓存与web服务器进程相关,而symfony命令是命令行脚本。这是我从实验中了解到的。不确定是否100%正确如果您将web服务器配置为可在本地访问,则可以使用curl或等效项让命令行调用APC缓存清除URL。如果您将web服务器配置为可在本地访问,则可以使用curl或等效项让命令行调用APC缓存清除URL。