내가 쓴 것은 다른 도메인에 저장된 자바 스크립트 파일의 로컬 복사본을 제공하는 PHP 스크립트입니다. Google Analytics 나 제 경우에는 Wordpress Stats와 같은 추적 목적으로 사용되는 JS 파일입니다. 다음과 같이PHP를 사용하여 자바 스크립트 파일의 로컬 복사본을 저장하고 유지하는 방법 (병렬 처리를 염두에두고)?
의도를 추가하는 것입니다 내 자신 :
mysite.com/somepath/wpstats.js.php?w=201145
("w = 올해 WEEK_NUMBER 주차"이 원본에 대한 wordpress.com 그들의 캐시 만료에 의해 같은 방식으로 사용된다. JS 파일은 1 년이므로 JS 파일은 주 1 회 이상 변경되지 않습니다.
내 wpstats.js.php
에서 w = xx가 변경되면 wordpress.com에서 올바른 파일을 다운로드하고 싶습니다. 로컬에서 보관 된 복사본에서 반환하려고합니다.
"w_current"라는 하나의 내부 변수를 사용하여 구현할 수 있습니다. 따라서 새로운 방문자가 사이트에 들어 오면 두 번째 주인 w != w_current
이 새로 가져 오기를 트리거합니다. 문제는 다음과 같습니다. 두 웹 사이트 방문자가 두 번째 주에 처음으로 웹 사이트를 동시에로드 할 때 발생할 수있는 경쟁 조건/병렬 문제를 방지하려면 어떻게해야합니까 [1]?
[1] 모두 아파치 프로세스는 w != w_current
평가하고 wpstats.js 파일의 (잠재적) 새 버전이 다운로드를 시작하고 모두 wpstats 로컬 복사본 (예 : own_wpstats.js
)에 기록하려고합니다. (로컬 복사본이 이미 존재하는 일반적인 경우) js.php 포함한다 :
if ($_GET["w"] == w_current) require("own_wpstats.js");
이 (어쩌면 다른 인 성능)을 수행하는 주요 이유는 사실에 기인하다 Wordpress.com 통계 주입한다 (비아 DOM)은 제삼자 인 quantserve.com에서 제공하는 추가 JS 추적 파일입니다. 내 로컬에서 보관 된 "WP JS 파일"에서는이 quantserve.com 항목이 제외되었음을 확인합니다. 그러나 여기에서 묻는 질문과는 별도의 프로그래밍 문제입니다. "quantserve.com 추적 쿠키"를 검색하면 많은 불편한 결과가 발생합니다.
답장을 보내 주셔서 감사합니다. 다중 다운로드가 아닌 중복 편집 (수동으로 부분적으로 수행됩니다. 사용하기 전에 "새"편집 된 버전을 검토하고 싶습니다). 내가 실제로 DB 테이블을 사용하는 방법에 대해 설명했지만 거래를 사용하여 "안전한"구현을 할 수 있어야한다는 데 동의합니다. 단순하고 다른 유사한 상황에서 잠재적 인 사용을 위해 필자는 지금은 파일 전용 솔루션에 집중할 것이라고 생각합니다. 드문 경우이지만 관리자가 보류중인 새 파일에 대해 두 번/여러 번 알림을받을 수 있다는 사실을 무시하십시오. . – rtv
직접 검토해야하는 특별한 이유가 있습니까? 아주 특정한 것을 제외 시키려고한다는 것을 미리 안다면, 그 파일의 더미 버전을 만들고 포함 된 src/path를 수정하면됩니다. quantserve가 파일을 변경할 때마다 수동 개입이 필요합니다. –