データベースとかBootstrapの中身を環境でわけてます。
if (Z_ENVIRONMENT=='PRODUCTION') {
class DATABASE_CONFIG {
var $default = array(
);
}
}elseif (Z_ENVIRONMENT=='STAGING') {
class DATABASE_CONFIG {
var $default = array(
);
}
} else {
class DATABASE_CONFIG {
var $default = array(
);
}
}
Beanstalkのコンソールで、$_SERVER['PARAM1']に環境をセットして、CoreファイルでそれをZ_ENVIRONMENTにセットしていて、普通にウェブで見るには問題ないのですがcronのとき、$_SERVER['PARAM1']がカラになってしまうので、さて困ったと。
調べていたら、
/opt/elasticbeanstalk/support/envvars.d/sysenv
このファイルにPARAM1なんかが書き込まれているようだったので、
if(isset($_SERVER['PARAM1'])){
define('Z_ENVIRONMENT', $_SERVER['PARAM1']);
}else{
$match = array();
if(file_exists('/opt/elasticbeanstalk/support/envvars.d/sysenv')){
$sysenv = file_get_contents('/opt/elasticbeanstalk/support/envvars.d/sysenv');
$preg = preg_match('/PARAM1=\"(.+)\"/', $sysenv, $match);
}elseif(file_exists('/opt/elasticbeanstalk/support/envvars')){
$sysenv = file_get_contents('/opt/elasticbeanstalk/support/envvars');
$preg = preg_match('/PARAM1=\"(.+)\"/', $sysenv, $match);
}
if (!empty($match[1])){
define('Z_ENVIRONMENT', $match[1]);
}else{
define('Z_ENVIRONMENT', 'DEVELOPMENT');
}
}
こうかな?