>백엔드 개발 >PHP 튜토리얼 >fastCGI 모드에서 PHP를 실행할 때 파일 시스템 권한 문제 및 해결 방법_php 팁

fastCGI 모드에서 PHP를 실행할 때 파일 시스템 권한 문제 및 해결 방법_php 팁

WBOY
WBOY원래의
2016-05-16 20:16:131515검색

오늘은 IIS에서 PHP 데모를 실행해 보겠습니다. IIS에서 웹사이트 구성은 다음과 같습니다.

응용 프로그램 풀은 통합 모드의 .net Framework 2.0입니다(PHP가 fastCGI 모드에서 실행되므로 2.0인지 4.0인지는 중요하지 않습니다). 응용 프로그램 풀 ID는 IIS에 내장된 NETWORKSERVICE로 구성되며 인증은 다음과 같습니다. 사용된 방법은 익명 신원 확인입니다.

로컬 홈페이지를 열어서 php페이지에 접속했더니 500에러가 발생하더군요.

권한 문제입니다. 가장 간단한 해결책은 C:UsersAdministratorPhpstormProjectsphpDemo의 권한을 모든 사람으로 설정하고 모든 권한을 허용하는 것입니다.

php 페이지를 다시 방문하여 성공했습니다:

위 방법은 충분히 간단하지만 너무 안전하지도 않습니다. 이를 위해 로컬 데모를 설정하는 것은 일반적으로 문제가 되지 않지만, 실제로 온라인 상태가 되면 조만간 문제가 발생할 것입니다.

그래서 재설정하고 NETWRORKSERVICE 계정에 디렉터리의 읽기 전용 권한을 부여하고 다시 시도했습니다

그러나 여전히 문제가 해결되지 않고 접속시 401에러가 발생했습니다

오류 메시지에는 로그인한 사용자가 익명이라는 내용이 포함되어 있습니다. 웹사이트에서 인증을 확인하세요(그런 다음 익명 인증->편집을 클릭하세요). 기본적으로 웹사이트는 로그인 시 기본 로그인 사용자를 사용하는 것으로 나타났습니다. 메소드는 IUSR(우리가 보는 익명 로그인 사용자)의 경우

입니다.

그러면 해결책은 다음과 같습니다.

1. NETWORKSERVICE의 이전 설정과 유사하게 IUSR을 C:UsersAdministratorPhpstormProjectsphpDemo의 읽기 권한으로 설정합니다.

2. 또는 애플리케이션 풀 ID를 사용하도록 선택합니다.

테스트 결과 1번과 2번 방법 모두 성공했습니다.

참고: NETWORKSERVICE는 IIS7의 iis_iusers 사용자 그룹에 속합니다. NETWORKSERVICE의 이전 설정을 iis_iusers의 설정으로 변경할 수도 있습니다. 이를 통해 문제를 해결할 수도 있지만 권한이 더욱 완화됩니다.

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.