Я пытаюсь определить лучший способ, чтобы PHP-скрипт определял, на каком сервере выполняется скрипт / сайт.
На данный момент у меня есть switch() который использует $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] чтобы определить, на каком сервере он $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . Затем он устанавливает несколько путей, параметры подключения db, параметры SMTP и параметры отладки на основе того, на каком сервере он включен. (Возможно, дополнительные параметры зависят от потребностей сайта.)
Это означает, что я могу просто удалить сайт на любой из сконфигурированных серверов без необходимости изменять какой-либо код (в частности, конфигурацию). Если это новый сервер, я просто добавляю новый case и он готов с этого момента.
Мы выполнили загрузку конфигурационных файлов на основе той же команды SERVER_NAME:SERVER_PORT , но обнаружили, что это еще один файл, который вам нужно поддерживать, плюс мы не были уверены в скорости разбора ini-файлов (хотя наличие дополнительных случаев для каждого сервера может быть так же медленно).
Другая проблема заключается в том, что сайт часто перемещается между двумя серверами, но мы используем одни и SERVER_PORT же SERVER_NAME и SERVER_PORT для каждого. Это означает, что нам нужно временно прокомментировать один случай и убедиться, что он не входит в репо.
Другие идеи? Он должен быть доступен на всех серверах (иногда SERVER_NAME и SERVER_PORT нет). Было бы неплохо, если бы он работал с CLI PHP.