Symfony 1在用户访问页面之前创建视图缓存文件

时间:2017-11-16 11:46:13

标签: php caching symfony1 symfony-1.4 symfony-forms

清除缓存后,有没有办法在用户访问页面之前创建视图缓存文件?目前我们使用下面的命令创建一些缓存文件,但不创建视图缓存文件。

symfony cache:prime --env=qa frontend

1 个答案:

答案 0 :(得分:0)

是的,有一种方法可以在用户访问页面之前生成缓存文件。您需要创建缓存预热脚本。每个URL的简单curl命令将创建缓存文件:

curl http://myapp.example.com/user/action/

另一种选择是创建一个PHP脚本,并使用通常用于测试的Symfony内置浏览器,您可以使用它来预热缓存,如下例所示:

require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'staging', false);
sfContext::createInstance($configuration);

// Array of URLs to browse
$pages = array(
  '/foo/index',
  '/foo/bar/id/1',
  ...
);

$b = new sfBrowser();
foreach ($pages as $page)
{
  $b->get($page);
}

此处有更多信息http://symfony.com/legacy/doc/gentle-introduction/1_4/en/18-Performance位于生成缓存页面部分,有关缓存的更多信息,请访问http://symfony.com/legacy/doc/gentle-introduction/1_4/en/12-Caching