Я рассчитываю перейти от Localhost к Dev к промежуточным средам Восток / Запад к производству без необходимости изменения файлов PHP, но я не думаю, что мой код правильный, и это может быть моим сокращением, я новичок в этом.
То, что я надеюсь сделать, это сказать, если localhost, то еще, если dev, еще, если ставить на восток, еще, если ставить на запад, еще, если производство. Может быть, есть лучший способ сделать это?
Если это поможет, я использую Apache в качестве локального хоста и Azure в dev / staging / production, я бы использовал оба, но у меня нет доступа к 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.
Других решений пока нет …