我正在寻求从Localhost转换到Dev到East / West登台环境到生产而不必更改PHP文件,但我不认为我的代码是正确的,它可能是我的简写,我是新的对此。
我希望做的是,如果是localhost,那么如果是dev,否则如果向东进行,否则如果向西进行,否则如果生产。也许还有更好的方法吗?
如果有帮助,我使用Apache作为我的本地主机,在开发/暂存/制作中使用Azure,我会使用两者但我无法访问Azure。
<?php
$thisPage = "navigation";
define('URL_ROOT',
getenv('DEV_SERVER') ?
'http://localhost/Site/' :
'dev.website.net' :
'http://website-east.website.net/' :
'http://website-west.website.net/' :
'http://production-website.com/'
);
?>
答案 0 :(得分:0)
根据我们上面的评论,你可以去:
switch(strtolower(getenv('DEV_SERVER')))
{
case 'localhost':
define('URL_ROOT', 'http://localhost/Site/');
break;
case 'dev':
define('URL_ROOT', 'dev.website.net');
break;
case 'east':
define('URL_ROOT', 'http://website-east.website.net/');
break;
case 'west':
define('URL_ROOT', 'http://website-west.website.net/');
break;
case 'prod':
define('URL_ROOT', 'http://production-website.com/');
break;
default:
die('Environment not defined!!');
}
如果可以的话,我建议设置一个通用的环境变量名称,例如getenv('SERVER_ENVIRONMENT')
,并在switch()
中使用它,因为DEV_SERVER
表示它只是T / F而且除了每个服务器dev将设置为F。