* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ use PrestaShopBundle\Install\Upgrade; $parametersFilepath = __DIR__ . '/parameters.php'; if (!file_exists($parametersFilepath)) { // let's check first if there's some old config files which could be migrated if (Upgrade::migrateSettingsFile() === false) { // nothing to migrate ? return return; } } $parameters = require $parametersFilepath; if (!array_key_exists('parameters', $parameters)) { throw new \Exception('Missing "parameters" key in "parameters.php" configuration file'); } if (!defined('_PS_IN_TEST_') && isset($_SERVER['argv'])) { $input = new \Symfony\Component\Console\Input\ArgvInput(); $env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev'); if ($env === 'test') { define('_PS_IN_TEST_', 1); } } if ($container instanceof \Symfony\Component\DependencyInjection\Container) { foreach ($parameters['parameters'] as $key => $value) { $container->setParameter($key, $value); } $driver = 'array'; $cacheType = [ 'CacheMemcache' => ['memcache'], 'CacheMemcached' => ['memcached'], 'CacheApc' => ['apcu', 'apc'], 'CacheXcache' => ['xcache'], ]; if (isset( $parameters['parameters']['ps_cache_enable'], $parameters['parameters']['ps_caching'], $cacheType[$parameters['parameters']['ps_caching']] ) && true === $parameters['parameters']['ps_cache_enable'] ) { foreach ($cacheType[$parameters['parameters']['ps_caching']] as $type) { if (extension_loaded($type)) { $driver = $type; break; } } } $container->setParameter('cache.driver', $driver); // Parameter used only in dev and test env $envParameter = getenv('DISABLE_DEBUG_TOOLBAR'); if (!isset($parameters['parameters']['use_debug_toolbar']) || false !== $envParameter) { $container->setParameter('use_debug_toolbar', !$envParameter); } }