我正在尝试编写一个PHP脚本,我希望确保在任何给定时间只运行一个单独的实例.所有这些都谈到了不同的锁定方式,竞争条件等等等,这些都是给我的.
我对锁文件是否可行,或信号量,或使用MySQL锁等等感到困惑.等等.
谁能告诉我:
a)实现这个的正确方法是什么?
和
b)指向PHP实现(或易于移植到PHP的东西?)
您可以选择最适合您的项目的解决方案,实现该解决方案的两种简单方法是文件锁定或数据库锁定。
有关文件锁定的实现,请查看https://www.php.net/flock
如果您已经使用数据库,请创建一个表,为该脚本生成已知令牌,将其放在那里,然后在脚本结束后将其删除。为了避免错误问题,您可以使用过期时间。