Я почти уверен, что это проблема с разрешениями, но не могу отследить, где именно. У нас есть сайт в локальной интрасети, работающий на IIS 6.1 и PHP. Мы включили NTLM, чтобы мы могли получать информацию о пользователе, для полноценной работы мы отключили анонимную аутентификацию, как только мы это сделали, мы заметили, что мы получаем 500 ошибок сервера всякий раз, когда есть ошибка в коде PHP.
Для ошибки сервера 500 нет кода субстатуса, единственное, что я смог извлечь из диагностики, это то, что в fastcgi отказано в доступе (код ошибки 5). Я также заметил на странице журналов диагностики, что для аутентификации установлено значение NOT_AVAILABLE, но я не уверен, нормально ли это, так как мы не получаем этих проблем после включения аутентификации по умолчанию.
Если мы снова включим анонимную аутентификацию, 500 страниц с ошибками исчезнут, и мы сможем увидеть наши сообщения об ошибках PHP на странице в порядке.
У кого-нибудь есть предложения о том, какие разрешения и где нам может понадобиться включить здесь?
PHP по умолчанию «олицетворяет» пользователя, загружающего браузер. Когда Windows Auth была отключена, он, вероятно, работал как системный пользователь.
Поэтому я увеличил права пользователя на машине, поскольку теперь, когда у нас включена проверка подлинности Windows, она, похоже, выполняется как пользовательский контекст. Полагаю, он не покажет вам подробности ошибки, если не доверяет вам. Досадно найти, но в этом есть смысл.