Shorthand PHP 环境变量

Shorthand PHP Environment Variables

我希望在不更改 PHP 文件的情况下从 Localhost 到 Dev 到 East/West 暂存环境再到生产环境,但我认为我的代码不正确,它可能做我的 shorthand,我是新手。

我希望做的是说,如果是本地主机,那么如果是开发,则如果是东部,否则如果是西部,否则如果是生产。也许有更好的方法?

如果有帮助,我使用 Apache 作为我的本地主机并在 dev/staging/production 中使用 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/'
);
?>

根据我们上面的评论,您可以:

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.