2012-02-16 6 views
3

우리는 이상한 문제에 직면 해 있습니다. NFS를 읽기 전용 모드로 마운트 한 2 대의 시스템으로 NFS를 설정했습니다. include 파일을 업로드 할 때마다 갑자기 PHP에서 500 오류가 발생합니다. 코드 실행을 추적 할 때 발견 된 오류는 포함 파일을 찾을 수 없음 문제로 인한 것입니다. 그러나 물리적으로 파일은 디스크에 존재하며 매우 읽기 쉽습니다. 마운트를 해제하고 다시 마운트하면이 오류가 해결됩니다. 이 문제는 파일을 업로드 할 때마다 임의로 발생합니다.NFS - PHP 문제

실마리가 없습니다. 모든 입력은 크게 감사하겠습니다.

미리 감사드립니다.

+0

보십시오'NFS에 대한 –

답변

4

파일 잠금 문제 일 수 있습니다. NFS는 실행/액세스되는 파일을 잠그는 동안 다른 사람이 파일에 액세스하는 것을 막을 수 있습니다. 나쁜 방식으로 구현되면 교착 상태가 발생하여 파일에 액세스하는 응용 프로그램이 제거 될 때까지 파일이 쓸모 없게 될 수 있습니다. http://en.wikipedia.org/wiki/File_locking

나는 당신의 NFS가 잠금 파일 및 해결에 관해서 어떻게 구성되어 있는지 확인 점검을 추천 할 것입니다 그것을 액세스하기위한 사용자의 요구에 대한 그 :

다음은 파일 잠금에 대한 좀 더 많은 정보입니다.

읽기만하는 경우 파일 잠금의 주요 이점은 두 사람이 동시에 위치에 기록하지 못하도록하거나 다른 사람이 위치에 기록하는 것을 방지하기 위해서입니다. 누군가가 오래된 버전이나 완전히 완성되지 않은 버전의 데이터를 읽지 못하게합니다. 읽기 전용 데이터 요소로서이 경우에는 필요하지 않습니다.

업데이트 : 당신은 NFS 포인트를 마운트 할 때

당신이 그것을에 할당 한 옵션에서 NOLOCK을 추가, 리눅스 NFS에 파일 잠금을 해제 할 수 있습니다.

당신은 그것을 바꿀 것
/dev/hda2 / ext2 defaults 1 1 
/dev/hdb1 /home ext2 defaults 1 2 
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0 
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0 
proc /proc proc defaults 0 0 
/dev/hda1 swap swap pri=42 0 0 
nfssrv.server.com:/content /opt/content nfs rw,bg,soft,actimeo=0,rsize=8192   0 0 

:이으로/etc/fstab 예를 들어

인 경우

/dev/hda2 / ext2 defaults 1 1 
/dev/hdb1 /home ext2 defaults 1 2 
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0 
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0 
proc /proc proc defaults 0 0 
/dev/hda1 swap swap pri=42 0 0 
nfssrv.server.com:/content /opt/content nfs rw,bg,soft,actimeo=0,rsize=8192,nolock   0 0 
+0

답장을 보내 주셔서 감사 톤을 마운트 옵션을 noac' . NFS에서 flock이 활성화되어 있는지 확인하는 방법과 비활성화 방법을 제안하십시오. 미리 감사드립니다. –

+1

변경 사항에 대한 간단한 예를 추가했습니다. – Drahkar

+1

감사합니다 ... 문제가 해결되었습니다! 적시에 도와주세요! –