php - Zend Framework 2: Disable module on production environment -
ok, here's problem:
i have module in zend framework 2 application wish not include on production. therefore, made file inside config/autoload
called local.php
following content:
'modules' => array( 'application', 'my_local_module', ),
while config/application.config.php
contains:
'modules' => array( 'application', ),
when try access module in url, 404
returned. however, when set modules
inside application.config.php
file, module displayed properly. environment variable set local
.
put following lines in index.php:
<?php // ... // current environment (development, testing, staging, production, ...) $env = strtolower(getenv('application_env')); // assume production if environment not defined if (empty($env)) { $env = 'production'; } // default config file $config = require 'config/application.config.php'; // check if environment config file exists , merge default $env_config_file = 'config/application.' . $env . '.config.php'; if (is_readable($env_config_file)) { $config = array_merge_recursive($config, require $env_config_file); } // run application! zend\mvc\application::init($config)->run();
then create different configuration files each environment.
application.config.php:
<?php return array( 'modules' => array( 'application' ), 'module_listener_options' => array( 'config_glob_paths' => array( 'config/autoload/{,*.}{global,local}.php' ), 'module_paths' => array( './module', './vendor' ) ) );
application.development.config.php:
<?php return array( 'modules' => array( 'zenddevelopertools' ) );
application.production.config.php:
<?php return array( 'module_listener_options' => array( 'config_cache_enabled' => true, 'module_map_cache_enabled' => true, 'cache_dir' => 'data/cache/' ) );
Comments
Post a Comment