XML 문서를 열고 DOM을 가져 와서 수정 한 다음 원본 문서를 덮어 쓰는 PHP 스크립트가 있습니다.
PHP 호출은 비동기식으로 이루어 지므로 여러 사용자가 동시에 문서에 액세스 한 다음 두 번째 저장시 첫 번째 항목을 덮어 쓰면서 저장할 수 있습니다.
나는이 사실을 알 필요가 없습니다. flock()
은 현재 프로세스에만 적용되므로 사용할 수 없으므로 어떻게해야합니까?PHP 대기열에 여러 스크립트 호출
1
A
답변
3
, 무리() 하지는 현재 프로세스에 적용하지 :
http://php.net/manual/en/function.flock.php
그것은 당신이 부하를 사용하는 경우 문제가 될 수 있지만 로컬 파일 시스템을 사용 않습니다 - 균형 잡힌 웹 서버. 또한 flock이 작동하려면 파일을 "경쟁"할 수있는 다른 프로세스도 flock을 사용하고 있는지 확인해야합니다. 그렇지 않으면 프로세스가 서로 "단계를 밟습니다".
-1
파일을 잠급니다.
xml이 다른 프로세스에서 열리고 있음을 나타 내기 위해 빈 파일 (예 : xml.lock)을 만듭니다. xml을 수정 한 후에 빈 파일을 제거하십시오.
사실+0
원래 XML 문서를 모으는 것보다이 방법이 더 좋습니까? 그리고 두 경쟁 프로세스가'xml.lock'이 존재하는지, 둘 다 파일을 보지 않는지를 확인하는 경쟁 조건을 처리하는 방법은 무엇입니까? – ghoti
관련 문제
- 1. 여러 PHP 스크립트 호출 JS 스크립트 호출을 방지하는 방법?
- 2. 여러 자바 스크립트 호출
- 3. PHP 스크립트 자체 호출
- 4. 매분 PHP 스크립트 호출
- 5. applescript에서 PHP 스크립트 호출
- 6. 여러 자바 스크립트 호출 결합하기
- 7. 아파치 모드의 PHP 스크립트 호출
- 8. C++ 프로그램에서 PHP 스크립트 호출
- 9. 새 질문 - PHP 파일로 여러 .sql 스크립트 호출
- 10. 다운로드 PHP 스크립트 내에서 추적 PHP 스크립트 호출
- 11. WordPress의 다른 것보다 먼저 스크립트 대기열에 넣기
- 12. 자바 스크립트 함수 아래에서 PHP 페이지 호출
- 13. 오류 때 PHP 스크립트 호출 배치 파일
- 14. PHP, 어떻게 자바 스크립트 함수를 호출?
- 15. .Net 응용 프로그램에서 PHP 스크립트 호출
- 16. 자바 스크립트 함수 호출 PHP 파일 포함
- 17. PHP 루프에서 자바 스크립트 함수를 호출
- 18. 반환 함수를 통해 PHP 스크립트 호출
- 19. PHP 호출 서버 스크립트 - 호출 후 계속되지 않습니다
- 20. OpenCL : 여러 clEnqueueNDRangeKernel() 호출
- 21. msmq 하나의 대기열에 여러 메시지 유형
- 22. 대기열에 여러 개의 사운드 파일을 기본으로 재생하려고합니다.
- 23. 여러 task_struct 구조를 대기열에 추가 하시겠습니까?
- 24. MassTransit의 단일 대기열에 대한 여러 소비자
- 25. PHP 여러 번 연결되는 스크립트 다운로드
- 26. wamp에 여러 장시간 실행중인 PHP 스크립트
- 27. 자바 스크립트 호출 동기화
- 28. 대기열에 삽입하는 모드의 패턴
- 29. 대기열에 추가하기
- 30. WordPress의 대기열에 header() 사용
[이 질문에 대한 flock() timeouts] (http://stackoverflow.com/q/11212661/1072112) 또한 흥미 롭습니다. – ghoti
허. 다른 프로세스와 관련해서는 W3이 말한 것이 아닙니다. (www.w3schools.com/php/func_filesystem_flock.asp). 비록 정보가 다소 오래된 것 같지만. 어쨌든 매뉴얼에있는 flock() 페이지에는 잠글 때 파일 핸들이 필요하다는 언급이 있습니다. 그래서 DOM을 사용하고 있었기 때문에 파일 핸들이 필요 없습니다. 그래서 PHP 스크립트 인 xml.lock이라는 파일을 만들었습니다. XML 파일에 액세스하기 전에 열리고 잠겨 있습니다. 그것은 완벽하게 작동했습니다. – err1100