Heim >Backend-Entwicklung >PHP-Tutorial >Wenn PHP unter iis im FastCGI-Modus ausgeführt wird, treten Probleme mit Dateisystemberechtigungen und Lösungen auf

Wenn PHP unter iis im FastCGI-Modus ausgeführt wird, treten Probleme mit Dateisystemberechtigungen und Lösungen auf

WBOY
WBOYOriginal
2016-08-08 09:24:391013Durchsuche

Heute werde ich eine PHP-Demo unter IIS ausführen. Die Konfiguration der Website unter IIS ist wie folgt:

Der Anwendungspool ist .net Framework 2.0 im integrierten Modus (es spielt keine Rolle, ob es 2.0 oder 4.0 ist, da PHP im fastCGI-Modus ausgeführt wird). Die Identität des Anwendungspools wird als in IIS integrierter NETWORKSERVICE und als Authentifizierung konfiguriert Die verwendete Methode ist die anonyme Identitätsüberprüfung.

Als ich die lokale Website öffnete und auf die PHP-Seite zugegriffen habe, ist ein 500-Fehler aufgetreten.

Okay, es handelt sich um ein Berechtigungsproblem. Die einfachste Lösung besteht darin, die Berechtigungen von C:UsersAdministratorPhpstormProjectsphpDemo auf „Jeder“ festzulegen und volle Kontrolle zu gewähren:

Die PHP-Seite erneut besucht und erfolgreich:

Die obige Methode ist recht einfach, aber auch zu unsicher. Normalerweise ist es kein Problem, dafür eine lokale Demo einzurichten, aber wenn sie tatsächlich online ist, wird es früher oder später Probleme geben.

Also habe ich es zurückgesetzt und dem NETWRORKSERVICE-Konto die Leseberechtigung im Verzeichnis erteilt und es erneut versucht

Das Problem ist jedoch immer noch nicht gelöst. Beim Zugriff ist ein 401-Fehler aufgetreten

Die Fehlermeldung enthält, dass der angemeldete Benutzer anonym ist (klicken Sie dann auf Anonyme Authentifizierung-> Bearbeiten). Es stellt sich heraus, dass die Website bei der Anmeldung standardmäßig den Standard-Anmeldebenutzer verwendet Methode ist anonym. Für IUSR (den anonymen Anmeldebenutzer, den wir sehen)

Dann lautet die Lösung:

1. Setzen Sie IUSR auf die Leseberechtigung von C:UsersAdministratorPhpstormProjectsphpDemo, ähnlich der vorherigen Einstellung von NETWORKSERVICE.

2. Oder entscheiden Sie sich für die Verwendung der Anwendungspoolidentität.

Nach dem Test waren beide Methoden 1 und 2 erfolgreich.

Hinweis: NETWORKSERVICE gehört zur Benutzergruppe iis_iusers in IIS7. Die vorherigen Einstellungen für NETWORKSERVICE können auch in die Einstellungen für iis_iusers geändert werden, wodurch das Problem ebenfalls gelöst werden kann, die Berechtigungen jedoch weiter gelockert werden.

Das Obige stellt die Dateisystem-Berechtigungsprobleme und Lösungen vor, die auftreten, wenn PHP unter iis im fastCGI-Modus ausgeführt wird, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn