Я хотел бы сохранить константу INDEX_URL
самым простым способом.
Существует сайт разработчика и обычный сайт. Если на сайте разработчика есть какие-либо изменения, я хотел бы просто скопировать все файлы, но эта константа не одинакова на двух сайтах.
Я сделал этот тест:
putenv("TEST=TEST"); var_dump(getenv('TEST')); //TEST //putenv("TEST=TEST"); var_dump(getenv('TEST')); //false
Кажется, он не сохраняет значение.
Альтернативный метод:
define('__INDEX_URL__',"http://".$_SERVER['SERVER_NAME']."/index.php");
Вы можете сохранить его как переменную среды. Поместите это в .htaccess:
SetEnv INDEX_URL http://example.com/index.php
И получить его в PHP:
$indexUrl = getenv('INDEX_URL');
Для автоматического переключения между хостами Вы можете использовать SetEnvIf:
.htaccess:
SetEnvIf Host host\.com INDEX_URL=http://host.com/index.php SetEnvIf Host dev\.host\.com INDEX_URL=http://dev.host.com/index_dev.php
PHP:
$indexUrl = isset($_SERVER['INDEX_URL']) ? $_SERVER['INDEX_URL'] : '';