I like how this works in Zend Framework. I can know which environment I\'m currently using by checking APPLICATION_ENV constant in my controller.
Since SetEnv set's the value to Apache's environment, you can get it with
or just
If you look at public/index.php in a ZF project, you will see ZF uses getenv:
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ?
getenv('APPLICATION_ENV') :
'production'));
An often use alternative would be to read the Hostname from PHP and define the constant accordingly:
if(!defined('APPLICATION_ENV')) {
if(FALSE === stripos($_SERVER['SERVER_NAME'], 'www.yourdomain.com')) {
define(APPLICATION_ENV, 'development');
} else {
define(APPLICATION_ENV, 'production');
}
}
This way, you don't have to rely on the environment setting at all.