#php
Мой скрип меняет свою работу в зависимости о того, на каком сайте расположен. Если он выполняется на сайте mydomain.com, то я хочу, чтобы в переменной $q у меня было 'mydomain.com'. А если на localhost, то, соответственно, 'localhost'. Спасибо!
Ответы
Ответ 1
Выяснить название текущего хоста можно из переменной окружения $_SERVER['SERVER_NAME']. $q = $_SERVER['SERVER_NAME']; switch($q) { case 'mydomain.com' : // Продакшен среда break; default : // Локальная разработка } Можно установить собственную переменную окружения, если стандартная переменная окружения SERVER_NAME по каким-то причинам не подходит. Например, ваш движок используется на нескольких хостах и нельзя размещать имя хоста непосредственно в коде. В этом случае вы можете определить переменные окружения с нейтральными значениями, не зависящими от доменного имени (dev, prod, staging, test и т.п.) Для этого на уровне виртуального хоста или location-секции, отвечающий за обработку php-файлов следует прописать директиву, устанавливающую переменную окружения nginx location ~ \.php$ { ... fastcgi_param APP_HOST prod; ... } apache... SetEnv APP_HOST prod ... В результате этого в PHP-скрипте будет доступна переменная окружения APP_HOST, получить доступ к котором можно через $_SERVER['APP_HOST'] (значение 'prod').
Комментариев нет:
Отправить комментарий