在产品环境中检查学说设置



当我执行命令php bin/console doctrine:ensure-production-settings

我有这个结果

query Cache uses a non-persistent cache driver, DoctrineCommonCacheArrayCache.

有人可以解释这是什么结果,我该怎么办?

这仅表示您没有为学说查询设置的持久缓存。学说使用缓存将DQL查询转换为SQL,因此在生产环境中,可以缓存此问题,而不必每次都进行相同的工作。

请参阅此处:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/caching.html#query-cache

引发异常的功能在这里:https://github.com/doctrine/doctrine2/blob/2.5/lib/doctrine/orm/configuration.php#l374

和代码看起来像这样:

if ($queryCacheImpl instanceof ArrayCache) {
    throw ORMException::queryCacheUsesNonPersistentCache($queryCacheImpl);
}

您应该做的是在生产环境上实现一种缓存机制,无论是APC,Memcache,Redis等

在Symfony 3.4(sample)

  1. 安装PHP-APCU扩展
  2. config_prod.yml上的不点击行

    学说:

    orm:
        metadata_cache_driver: apc
        result_cache_driver: apc
        query_cache_driver: apc
    

并没有错误

相关内容

  • 没有找到相关文章

最新更新