【问题标题】:PHP Mutual Exclusion on a File / MySQL reading and executing statements from a file using perlPHP互斥文件/ MySQL使用perl从文件中读取和执行语句
【发布时间】:2012-09-22 23:54:16
【问题描述】:

所以我想知道 PHP 如何/是否在文件读写方面存在某种互斥。

这是我计划使用它的方式:

我正在使用的网站使用需要离开服务器的支付服务,这使得处理表单提交变得困难,因此在从支付服务返回之前,表单不会被提交到数据库中。信息可以通过支付服务传递并在另一端反刍。但是,可以传递的信息最少。

我对解决方案的想法:

在将注册传递给支付服务之前,处理并写入文件中的 sql 语句,每组语句引用由某个令牌分隔的注册。

返回时根据您通过支付服务发送的信息查找条目,执行语句并从文件中删除注册块。

重新表述问题:

-所以问题是-在这种情况下,我是否需要对文件进行互斥,如果需要,我将如何实现?这可以从多种语言中锁定吗? (支付服务需要返回一个 cgi / perl 脚本——尽管我可以包含一个实际处理的 php 脚本)

-我将如何运行和执行 SQL 语句(最好在 perl 中)?

-我的解决方案看起来还不错吗?

谢谢,

特拉维斯

【问题讨论】:

  • 我们生活的世界多么美好。当有人没有说“谢谢”时,我们投反对票并拒绝回答。 stackoverflow 的目的不就是帮助人们吗?
  • @christopher 这里的人们只有在他们先从他们身边尝试一些东西时才会得到帮助,如果只是通过在互联网上搜索就可以获得答案,或者如果问题太模糊,它会被忽略,因为它有助于程序员自己学东西,轻松帮大家赢了;实际上并不能帮助程序员理解,他只会复制粘贴代码......

标签: php mysql perl mutual-exclusion


【解决方案1】:

PHP 和 Perl 都支持flock()

但是,更好的方法是使用数据库。您的数据库表可能有一个processed 列,指示是否已处理付款。当您将请求发送到支付服务时,添加一条带有processed = 0 的记录。注册返回后,用processed = 1更新表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多