파일에 대한 PHP 상호 배제 / Perl을 사용하여 파일에서 명령문을 읽고 실행하는 MySQL

StackOverflow https://stackoverflow.com//questions/12685029

문제

그래서 저는 PHP가 파일 읽기 및 쓰기에 대해 일종의 상호 배제 기능을 갖고 있는지 궁금합니다.

제가 사용할 계획은 다음과 같습니다.

제가 작업하고 있는 사이트는 서버를 떠나야 하는 결제 서비스를 활용하므로 양식 제출을 처리하기가 어려워 결제 서비스에서 돌아올 때까지 양식이 데이터베이스에 제출되지 않습니다.정보는 결제 서비스를 통해 전달되어 다른 쪽에서 역류될 수 있습니다.하지만 전달할 수 있는 최소한의 정보가 있습니다.

해결책에 대한 나의 생각:

등록이 결제 서비스에 전달되기 전에 파일에 SQL 문을 처리하고 작성합니다. 각 문 그룹은 일부 토큰으로 구분된 등록을 참조합니다.

반환 시 결제 서비스를 통해 전송한 정보를 기반으로 항목을 찾은 후 명세서를 실행하고 파일에서 등록 블록을 제거합니다.

질문을 바꿔 말하면:

-그래서 질문은 이 시나리오에서 파일에 대한 상호 제외가 필요하며, 그렇다면 어떻게 달성할 수 있습니까?여러 언어에서 잠길 수 있나요?(결제 서비스를 이용하려면 cgi/perl 스크립트로 돌아가야 합니다. 실제로 처리하는 PHP 스크립트를 포함할 수도 있지만)

- SQL 문을 어떻게 실행하고 실행합니까(가급적이면 Perl에서)?

- 내 솔루션이 좋은 것 같나요?

감사해요,

트래비스

도움이 되었습니까?

해결책

PHP와 Perl 모두 지원 flock().

그러나 이를 수행하는 더 좋은 방법은 데이터베이스를 사용하는 것입니다.귀하의 DB 테이블에는 processed 결제가 처리되었는지 여부를 나타내는 열입니다.결제 서비스에 요청을 보낼 때 다음과 같은 기록을 추가하세요. processed = 0.등록이 반환되면 다음을 사용하여 테이블을 업데이트합니다. processed = 1.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top