Моя компания использует программное обеспечение на основе PHP, которое зависит от $_SERVER['SERVER_NAME']
для создания URL.Он работает на PHP 5.2 под Windows Server 2003 или 2008 с IIS6 или IIS7 через FastCGI.
Это работает "правильно" (или, по крайней мере, как мы ожидаем, что это будет работать) в каждой системе IIS, которую мы когда-либо имелиустановил его на.Другими словами, на том же сервере, если вы называете его с http://app.foo.com/myscript.php, $_SERVER['SERVER_NAME']
, это «app.foo.com», если вы называете его с http://192.168.1.22/myscript.php
, $_SERVER['SERVER_NAME']
это «192.168.1.22»и т. д.
Сегодня мы впервые установили его на сервере (Windows Server 2003 с IIS6), который работает по-другому.Независимо от того, какой URL мы используем для загрузки скрипта, $ _SERVER ['SERVER_NAME'] является 'myserver' (имя компьютера сервера), что вызывает проблемы.
Теперь, когда возникла эта проблема,мы работаем над тем, чтобы исключить использование $_SERVER['SERVER_NAME']
в будущих выпусках программного обеспечения ... но есть ли какая-либо конфигурация, которую я могу выполнить (в IIS6, php.ini, ...?) на этом сервере, чтобы исправить это вТо время?Если мы не можем изменить его так, чтобы $_SERVER['SERVER_NAME']
всегда содержал хост из запрашивающего URL-адреса, есть хотя бы какой-нибудь способ настроить его так, чтобы $_SERVER['SERVER_NAME']
содержал конкретное желаемое полное доменное имя (вместо этого app.foo.com)of 'myserver')?
РЕДАКТИРОВАТЬ: Добавлена награда, поскольку я очень заинтересован в получении ответа на этот вопрос.