Страницы

Поиск по вопросам

суббота, 11 апреля 2020 г.

Как узнать, на каком сервере выполняется мой PHP скрипт?

#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').

Комментариев нет:

Отправить комментарий