Рекомендую использовать переменную среды httpd .
Это может служить флагом для информирования вашего веб-приложения об окружающей среде. Скажем, у вас был продукт с белой этикеткой, там он может быть полезен, например, при настройке конфигурации, которую следует использовать с конкретным vhost.
<VirtualHost *:80>
DocumentRoot "/srv/www/foo/public"
ServerName foo.com
<Directory /srv/www/foo/public>
# production | development | staging
SetEnv APPLICATION_ENV development
...
И тогда в вашем PHP-коде вы получите к нему доступ:
<?php
define('APPLICATION_ENV_LOCAL', 'local');
define('APPLICATION_ENV_DEVELOPMENT', 'development');
define('APPLICATION_ENV_STAGING', 'staging');
define('APPLICATION_ENV_PRODUCTION', 'production');
$app_env = (getenv('APPLICATION_ENV')) ? getenv('APPLICATION_ENV') : false;
if (empty($app_env) || ! in_array($app_env, array(APPLICATION_ENV_LOCAL, APPLICATION_ENV_DEVELOPMENT, APPLICATION_ENV_STAGING, APPLICATION_ENV_PRODUCTION))) {
throw new Exception("APPLICATION ENV IS NOT SPECIFIED OR IS INVALID.");
}
То, что я бы сделал, - это совершенно отдельные файлы типа config / INI, которые я включаю в зависимости от среды. Они могут определять поведение сообщений об ошибках, поддерживать различные соединения с базой данных, все остальное зависит от среды приложения.