Linux 서버에서 file_exists()
PHP 함수에 이상한 문제가 있습니다.일부 파일에서 PHP file_exists()가 false를 반환합니다.
file_exists를 사용하여 이미지를 편집하기 전에 서버에 있는지 확인하는 경우 명백한 이유없이 실패하는 경우가 있습니다. 파일 경로는 절대적이며 ssh를 통해 지정된 경로에서 100 %를 검사했습니다.
file_exists()에 실패한 이미지는 여전히 브라우저에 표시됩니다. 코드가 차이를 만들지 않습니다 var_dump(file_exists('/home/user/path/image.jpg'));
false를 반환합니다.
파일 권한/소유권은 모든 이미지 및 상위 디렉토리에서 동일합니다. 안전 모드가 꺼져 있습니다. PHP 오류가 없습니다. 나는 지금 당황스럽고 무엇을 찾을 지 모릅니다. 여기
는 이미지가 서버에있는 방법입니다
/home/user/public_html/images/location/1.jpg -- will work
/home/user/public_html/images/location2/1.jpg -- won't work
/home/user/public_html/images/location2/2.jpg -- will work
사람이 어떤 아이디어를 가지고 있다면 행복하게 그들을 밖으로 시도 할 것이다, 그래서 내가 서버에 루트 액세스 할 수 있습니다.
미리 조언 해 주셔서 감사합니다. 추가 정보가 필요하면 알려주세요.
편집 : 아래 의견에 대한 질문에 답변하십시오.
- 예, 이미지가 있습니다. 확실히 캐싱하지 않습니다.
- 안전 모드가 해제되었습니다 (이미 내 게시물에서 언급 했음).
- 경로는 심볼릭 링크가 아니며 서버의 파일 위치에 대한 직접 링크입니다.
- 피닉스, 일관성이 있습니다. 작업 파일은 항상 작동하며 반대의 경우도 마찬가지입니다. 이름은 1.jpg, 1.thumb.jpg 등으로 이상한 문자 나 공백에는 문제가되지 않습니다.
[[email protected] ~]# ls -l /home/user/public_html/images/Hawkhurst/
total 92
-rwxr-xr-x 1 user user 24501 Aug 11 2009 1.jpg
-rwxr-xr-x 1 user user 1672 Aug 11 2009 1.thumb.jpg
-rwxr-xr-x 1 user user 14983 Aug 11 2009 2.jpg
-rwxr-xr-x 1 user user 1370 Aug 11 2009 2.thumb.jpg
-rwxr-xr-x 1 user user 17238 Aug 11 2009 3.jpg
-rwxr-xr-x 1 user user 1453 Aug 11 2009 3.thumb.jpg
-rwxr-xr-x 1 user user 14168 Aug 11 2009 4.jpg
-rwxr-xr-x 1 user user 1464 Aug 11 2009 4.thumb.jpg
[[email protected] ~]#
나는 아무런 차이도하지 않습니다 권한을 777와 755으로 노력했다. 예를 들어,이 폴더에서 1과 2는 3 & 4가 작동하지 않을 때 작동합니다 ...
나는 아파치/PHP가 실행되는 것을보기 위해 빠른 테스트를 실행했으며 아무도 실행하지 않지만 설명하지는 않습니다 일부 이미지는 작동하고 일부는 동일한 권한으로 작동하지 않는 이유는 무엇입니까?
편집 2 : 문제가 해결되었습니다. 얼마나 어리석은 지 믿을 수 없다. 데이터베이스에서 호출 된 일부 파일 이름 끝에는 공백이있다. 원래 스크립트를 만든 사람은 저장하기 전에 정리 작업을 수행하지 않았다.
실제로이 파일을인가에 관하여 : 난 그냥 내 리눅스 박스에 이런 짓을 해결하려면? 캐싱으로 인해 이미지가 표시 될 수 있습니다. –
safe_mode가 활성화되어 있습니까? – Mchl
'이 함수는 존재하지 않는 파일을 가리키는 심볼릭 링크에 대해 FALSE를 반환합니다.' – ajreal