LAMP 시스템으로 웹 사이트를 운영하고 있습니다.파일을 사용 중일 때 PHP로 파일을 삭제 (연결 해제) 또는 생성 (작성)
콘텐츠는 데이터베이스에서 가져온 것입니다.
캐싱을 위해 웹 서버 (캐싱 할 수있는 콘텐츠 포함)에 파일을 만듭니다 (fwrite()
통해).
때로는 캐시 파일을 삭제하는 중입니다 (unlink()
통해).
파일 생성 및 삭제는 cronjob으로 수행됩니다.
내 질문은 : 내 웹 사이트 방문자가 현재 웹 서버에서 웹 페이지를 요청하고 있는데 A.php 파일을보고이 파일을 쓰거나 삭제하려고하면 어떻게됩니까?
정확하게 말하면 : 내 cronjob이 unlink()
명령을 발행하고 동시에 사용자에게 파일을 제공하면 어떻게됩니까?
경쟁 조건이 발생합니까?
나는 상태를 unlink 및 fwrite 작업에서 검색하는 방법을 알고 있으므로이 함수가 false를 반환하는 한 삭제하거나 쓴 수없는 한 내 unlink/fwrite를 반복 할 수 있습니까?
의견/답변 읽기 기대됨!
의견으로 추가해야합니다 –
그리고 그 이유는 무엇입니까? 문제는 "이것이 경쟁 조건을 만들 것인가?"입니다. – zekus
감사합니다.이 문제를 극복하는 방법에 대한 제안은 크게 환영합니다. (: – Sebastian