0

だから私は、PHPがファイルの読み書きである種の相互排除をどのように/もしているのだろうかと思っていました。

これを使用する予定の方法は次のとおりです。

私が使用しているサイトは、サーバーを離れる必要がある支払いサービスを利用しているため、フォームの送信を処理するのが難しく、支払いサービスから戻るまでフォームがデータベースに送信されません。情報は支払いサービスを通過し、反対側で逆流する可能性があります。ただし、渡せる最低限の情報はあります。

解決策の私の考え:

登録が支払いサービスに渡される前に、sql ステートメントを処理してファイルに書き込みます。ステートメントの各グループは、トークンで区切られた登録を参照します。

戻ったら、支払いサービスを通じて送信した情報に基づいてエントリを見つけ、ステートメントを実行して、ファイルから登録ブロックを削除します。

質問を言い換えると:

-問題は、このシナリオでは、ファイルの相互排除が必要になるかどうかです。そうであれば、どうすれば達成できますか? これは複数の言語からロックできますか? (支払いサービスでは、cgi / perl スクリプトに戻る必要がありますが、実際に処理する php スクリプトを含めることもできます)

- SQL ステートメントを実行して実行するにはどうすればよいですか (できれば perl で)。

-私の解決策は良いもののように見えますか?

ありがとう、

トラヴィス

4

1 に答える 1

0

PHPとPerlの両方がサポートしてflock()います。

ただし、それを行うためのより良い方法は、データベースを使用することです。DBテーブルにはprocessed、支払いが処理されたかどうかを示す列を含めることができます。リクエストをペイメントサービスに送信するときに、でレコードを追加しprocessed = 0ます。登録が返されたら、テーブルを。で更新しますprocessed = 1

于 2012-10-02T05:58:28.077 に答える