无法在本地配置中设置配置缓存选项?

Cant set config caching options in a local config?

我正在努力在 zf2 应用程序中设置配置缓存。将设置放入 application.config.php 似乎工作正常...

// config/application.config.php
'module_listener_options' => array(
    'module_paths' => array(
        './module',
        './vendor'
    ),
    'config_glob_paths' => array(
        'config/autoload/{,*.}{global,local}.php'
    ),
    'config_cache_enabled'     => true,
    'config_cache_key'         => 'my_cache_key',
    'module_map_cache_enabled' => true,
    'module_map_cache_key'     => 'my_cache_key',
    'cache_dir'                => '/var/www/appsuite/html/data/cache/'
)

但如果我将这些相同的选项放在本地配置中 config/autoload/application.config.local.php,则不会创建缓存文件。缓存是否发生在本地配置合并之前?我们的 sop 是为环境特定配置提供 *.local.php 配置,而不是依赖环境变量,配置缓存配置是否可能?

默认情况下,应用程序配置不支持使用 .local.global 命名约定。解决这个问题的通常方法是使用记录的环境变量 here.

但是,如果您想支持 .local 命名约定,我们可以通过继续使用环境变量来略微不同于该实现,但在我们的 index.php

中做类似的事情
if (getenv('APPLICATION_ENV') == 'development') {
    $app_config = 'config/application.local.php';
} else {
    $app_config = 'config/application.global.php';
}

Zend\Mvc\Application::init(require $app_config)->run();