2017-01-05 4 views
0

젠드 프레임 워크의 로그 모듈 인 Zend_Log를 살펴 보았습니다.하지만 동일한 파일에 여러 개의 PHP 스크립트를 작성하는 경우 경쟁 조건을 방지하기 위해 무리 기능을 사용하지 않았습니다. 젠드 프레임 워크를 기반으로하는 웹 애플리케이션은 각 요청을 개별 PHP 프로세스로 취급하므로 상태를 공유 할 수 없으므로 파일 작업을 동기화 상태로 유지해야합니다.Zend_Log가 로그 메시지를 작성하는 동안 경쟁 조건을 방지하는 방법은 무엇입니까?

그 이유를 아는 사람이 있습니까?

답변

0

O_APPEND 열린 파일은 스레드이며 파일에 쓸 수있는 안전한 프로세스로 일부 문서를 확인한 후 UNIX 문서에서 확인해 보겠습니다. 그러나 Windows는 예외이며 아마도 PHP는 Windows 인터프리터에 대한 래퍼를 수행했을 것입니다.

열려있는 파일이 PIPE 또는 FIFO 인 경우 순수 파일과 다릅니다. size 바이트가 PIPE_BUF의 크기를 초과하면 원자가 아닙니다.

Understanding concurrent file writes from multiple processes

O_APPEND document