在不运行控制台命令的情况下清理缓存的最佳方法是什么?

Joh*_*hni 13 php caching symfony

在我的项目的管理面板中,我编写了更改要使用的数据库名称的功能.我在其中编写了新的数据库名称parameters.ini,之后必须清理缓存以加载新的配置.

在不运行控制台命令的情况下清理缓存的最佳方法是什么?

或者是否有另一种最佳实践如何更改当前数据库.

Sam*_*ane 16

您可以通过exec()以下方式使用console命令:

exec("php /my/project/app/console cache:clear --env=prod");
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想使用控制台命令,只需清空缓存/文件夹.

  • 然后执行Symfony2命令.`exec()`将停止脚本的执行,直到命令完成. (2认同)

小智 10

您可以调用此操作来清除缓存:

/**
 * @Route("/cache/clear", name="adyax_cache_clear")
 */
  public function cacheClearAction(Request $request) {
    $input = new \Symfony\Component\Console\Input\ArgvInput(array('console','cache:clear'));
    $application = new \Symfony\Bundle\FrameworkBundle\Console\Application($this->get('kernel'));
    $application->run($input);
   }
Run Code Online (Sandbox Code Playgroud)