Если вы используете Apache, вы можете установить переменную окружения, которая может быть прочитана PHP в вашем файле Virtual Hosts для сайта:
<VirtualHost *:80>
DocumentRoot /path/to/site
ServerName local.mysite.com
ErrorLog /path/to/error_log
CustomLog /path/to/access_log common
<Directory /path/to/site>
SetEnv ENVIRONMENT local
RewriteEngine On
Options FollowSymLinks Indexes
AllowOverride AuthConfig Options FileInfo
</Directory>
</VirtualHost>
Итак, теперь вы можете проверить и настроить серверную среду соответствующим образом в файле index.php:
// always default to production for safety
$environment = 'production';
// check for an environment override
if (function_exists('apache_getenv') && apache_getenv("ENVIRONMENT")) {
$environment = apache_getenv("ENVIRONMENT");
} else if (getenv("ENVIRONMENT")) {
$environment = getenv("ENVIRONMENT");
}
// set the environment constant
define('ENVIRONMENT', $environment);
Благодаря этой настройке вы теперь можете свободно развертывать свои сайты и добавлять дополнительные параметры конфигурации в файлы application/config/[file].php
для каждой среды.
Alternative ...
Еще одна возможность для обработки настроек нескольких сред - это создание файла вне корня документа, который игнорируется вашей системой контроля версий (т.е. .gitignore), в которой содержится значение серверной среды. Затем вы можете просто прочитать этот файл через file_get_contents()
или эквивалентный.