gpt4 book ai didi

php - 在交易过程中重新加载页面

转载 作者:可可西里 更新时间:2023-11-01 07:58:34 25 4
gpt4 key购买 nike

如果用户在交易过程中停止页面完全加载然后刷新页面,交易是否会应用两次?

最佳答案

简短的回答是 - 你必须检查。即使一个查询没有正确执行,交易也会失败。然而,真正的问题是——如果用户中止加载,这并不意味着服务器将停止执行代码。中止页面加载仅意味着用户决定不接收返回的数据。您的 Web 服务器不必遵守,PHP 也不必遵守 - 他们甚至可能不知道用户关闭了管道这一事实。现在我们进入了一个完全不同的游戏领域——PHP 可以嵌入到服务器中,也可以充当独立服务器(称为 php-fpm)。如果 PHP 通过 mod_php 嵌入到服务器(例如 Apache)中 - Apache 决定是否中断正在执行 PHP 进程的线程或进程。它仍然可以决定执行整个操作,收集结果,然后尝试将结果写回套接字 - 只是意识到用户不在了。

如您所见,问题的复杂性并不像“如果用户中止怎么办”那么简单 - 在您的网络服务器上控制程序执行不是由用户决定的。

现在,假设 Web 服务器愿意玩球,并且它会以某种方式告诉 PHP 中止执行 - 在这种情况下,事务不会执行,它会失败,因为不会发出提交。

如果服务器不愿意玩球或者它根本没有办法中止 PHP 进程 - 那么是的,您最终将执行两个或更多事务,具体取决于您的用户的操作。

关于php - 在交易过程中重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30941441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com