PHP file_exists 문제 잡담
2961 단어 file exists
4.567916.오류:여기 서 파일 이 존재 하지 않 습 니 다.사고 과정:1.프로그램 에 이 파일 이 없 는 줄 알 았 는데 파일 이 있 더 라 고요.그게 어떻게 된 거 예요?2.나중에 나 는 phop 커 널 에 문제 가 있 는 지 다시 추측 했다.나 는 phop 과 관련 된 커 널 문 서 를 한 번 보 았 지만 문 제 를 발견 하지 못 했다.결국 나 는 모든 과정 을 프로젝트 매니저 에 게 말 했다.일 도 해결 되 지 않 았 는데,이렇게 먼저 흐지부지 되 었 다.진급 하 는 일이 먼저 지체 되 고 있다.오늘 또 이 문 제 를 발 견 했 습 니 다.제 첫 번 째 반응 은 phop 버 전이 업그레이드 되 었 는 지 아 닌 지 를 발 견 했 습 니 다.나중에 전체 디 렉 터 리 를 777 로 설정 하면 괜찮아 집 니 다.혹시 fileexists()방법 문제.그래서 나 는 관련 디 버 깅 과 실험 을 진행 했다.
디 버 깅 과정
디버그 코드:
디 렉 터 리:
각 권한 관찰:test 는 ww 에 권한 이 없 으 며,실행 파일 index.php 는 읽 기와 쓰기 실행 권한 이 있 으 며,파일 test.txt 를 포함 하여 읽 기와 쓰기 권한 이 있 습 니 다.
실행 결과:
디 렉 터 리 실행 권한 영향 fileexists()
1.test 에 게 가장 큰 권한 을 준다―755
성공 한 이상 fileexists()함 수 는 디 렉 터 리 권한 의 제한 을 받는다.어떤 디 렉 터 리 권한 이 file 에 영향 을 줍 니까?exists()는?나 는 몇 가지 실험 을 했다.1.파일 의 모든 상위 디 렉 터 리 는 쓰기 권한 타 임 스 파일 만 존재 하지 않 는 다.2.파일 의 모든 상위 디 렉 터 리 는 읽 기 권한 만 있 을 때 파일 이 존재 하지 않 습 니 다.3.모든 상위 디 렉 터 리 가 실행 권한 이 있 을 때 보고 파일 은 존재 하고 모든 것 이 정상 입 니 다.결과,설명 fileexists()는 파일 이 존재 하 는 지 여 부 를 판단 할 때 모든 디 렉 터 리 에 실행 권한 이 있 는 지 재 귀적 으로 판단 합 니 다.파일 경 로 를 상대 경로 로 수정 하여 같은 결 과 를 얻 을 수 있 습 니 다.
php 매 뉴 얼 에 언급 되 지 않 았 습 니 다.fileexists 는 디 렉 터 리 의 실행 권한 에 영향 을 받 습 니 다.이 글 을 통 해 이 문제 도 있 는 개발 자 들 에 게 알 립 니 다.이것 만 을 경계 로 하 다.추가 정 보 는 여러분 이 남 겨 주신 말씀 에 감 사 드 리 며 매우 유용 합 니 다.여러분 의 의견 을 통 해 저 는 매 뉴 얼 을 다시 찾 아 보 았 습 니 다.확실히 디 렉 터 리 에 실행 권한 이 없 으 면 pp-fpm 응용 프로 세 스 는 이 디 렉 터 리 아래 에서 파일 검색 을 할 수 없습니다.물론 파일 이 존재 하지 않 는 다 고 생각 합 니 다.(실제 실행 가능 한 디 렉 터 리 가 없다 고 생각 합 니 다)매 뉴 얼 내용 은 모두 가 함께 고려 해 볼 수 있 는데,주로 집행 권한 이다.여기 서 읽 기와 쓰기 권한 에 대해 서 는 자세히 이야기 하지 않 겠 습 니 다.
4.567916.뚜렷 한 수첩 에서 디 렉 터 리 의 집행 권한 에 대해 명확 한 지 시 를 한다.디 렉 터 리 에 대한 실행 권한 은 검색 할 권리 가 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PHP 에서 fileexists 사용 중 발생 한 문제 요약2.파일 의 모든 상위 디 렉 터 리 는 읽 기 권한 만 있 을 때 파일 이 존재 하지 않 습 니 다. php 매 뉴 얼 에 언급 되 지 않 았 습 니 다.fileexists 는 디 렉 터 리 의 실행 권한 에 영향...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.