Назад | Перейти на главную страницу

Как запустить PHP + IIS8 от имени пользователя Windows или мне следует?

Я создаю веб-сайт PHP на IIS8, которому необходимо подключиться к SQL Server, который находится в том же домене Windows, что и IIS8. Мне предоставляется учетная запись пользователя домена Windows и меня просят подключиться, используя ее учетные данные.

Я использую sqlserv_connect() для PHP, и я получаю сообщение об ошибке Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'

Есть ли способ запустить PHP + IIS8 от имени пользователя домена Windows? Или ДОЛЖЕН Я настраиваю SQL Server для использования режима проверки подлинности SQL, чтобы я мог указать имя пользователя и пароль?

Хотя ответ Джоэла приводит меня к этому, я не решил проблему с вышеупомянутым. Я считаю, что изменение пула приложений для конкретного пользователя не помогло. Есть еще несколько связанных областей, которые стоит проверить.

Значение FastCGI.Impersonation в php.ini должно быть установлено равным 1. Это можно проверить в диспетчере задач и посмотреть, под какой учетной записью сейчас выполняется процесс PHP.

Затем в диспетчере IIS под объектом веб-сайта есть параметр проверки подлинности IIS. По умолчанию анонимный вход включен, и когда вы посмотрите на этот параметр, он использует учетную запись пользователя по умолчанию (в моем случае это IISUSER). Это позволяет изменить анонимного пользователя на пул приложений, и в этом случае он будет работать, если пул приложений установлен на правильного пользователя.

В качестве альтернативы можно полностью забыть о пуле приложений и напрямую установить учетную запись пользователя в качестве учетной записи анонимного входа по умолчанию.

Я оставляю свой ответ здесь и смотрю, могут ли другие отзывы о потенциальных ямах этого метода изменения анонимного пользователя по умолчанию.

Вы можете использовать диспетчер IIS, чтобы установить Identity в Advanced Settings область для Application Pool вашего PHP-сайта для любого пользователя, которого вы хотите ... но лично я предпочитаю использовать аутентификацию sql.

Я делал это раньше с IIS 7.5 и учетной записью службы уровня домена, которая не имеет прав входа в систему. Если вы знаете, как заблокировать учетную запись службы с точки зрения политики, то это способ сделать это.