ZF3 Skeleton - 忽略手动缓存禁用 - 除非通过Composer

时间:2018-01-02 19:00:04

标签: php caching zend-framework zend-framework2 zend-framework3

ZF3的文档和教程都说你应该在开发过程中在本地启用“开发模式”来禁用缓存。现在,这很好,当您使用composer development-enable*-disable时,命令会复制/config/development.config.php.dist,删除.dist扩展名并将其放在dist文件旁边。

成功执行此操作会因该文件中的配置而禁用缓存。

但是,使用以下配置手动执行此操作时,运行终端命令时将禁用缓存 。但是,当运行终端命令 >存在development.config.php文件时,被禁用

这是我的application.config.php文件atm:

$env = getenv('APPLICATION_ENV'); // Expect null or "development"

return [
    'modules' => require __DIR__ . '/modules.config.php',
    'module_listener_options' => [
        'module_paths' => [
            './module',
            './vendor',
        ],
        'config_glob_paths' => [
            realpath(__DIR__) . '/autoload/{{,*.}global,{,*.}local}.php',
        ],
        'config_cache_enabled'      => $env === 'development' ? false : true,
        'config_cache_key'          => 'application.config.cache',
        'module_map_cache_enabled'  => $env === 'development' ? false : true,
        'module_map_cache_key'      => 'application.module.cache',
        'cache_dir'                 => 'data/cache/',
        'check_dependencies'       => $env === 'development' ? true : false,
    ],
];

刚刚删除了所有评论,将其全部捆绑在一起,将其排除在外,并根据服务器环境变量设置true/false

我正在使用Apache,所以下面的vhost配置有效:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/skeleton"
    ServerName skeleton.loc

    SetEnv APPLICATION_ENV "development"
</VirtualHost>

我已通过调试确认了这一点:

debug image

问题是:为什么当我使用上一个手动路线时,缓存不会被禁用?

它会不断创建配置为在$env不等于"development"时创建的缓存文件。然而,它不应该是血腥的,这是造成很大挫折的原因。

(是的,现在我将通过Composer使用该设置,即拥有额外的配置文件,但我不应该这样做!)

0 个答案:

没有答案