![]() |
1
3
您可以这样做(需要PHP 5):
显然,正如@Pekka在他的回答中提到的,如果在放置锁和删除锁之间发生致命错误(或PHP崩溃,或服务器崩溃等),这可能会导致问题,因为文件将保持锁定状态。 |
![]() |
2
5
您正在寻找的技术称为锁定。 最简单的方法是创建一个临时文件,并在操作完成后将其删除。其他进程将查找该临时文件,查看它是否已存在并消失。 但是,您还需要考虑锁的所有者进程崩溃以及未能移除锁的可能性。这就是这个简单的任务似乎变得复杂的地方。 基于文件的锁定解决方案
PHP有一个内置的
基于数据库的锁定
this question
-可能被周围的复杂情况吓跑了
该死,这个问题是 复杂的 |
![]() |
3
1
使用sql查询启动脚本,该查询测试数据库中的timestamp字段是否在1天前。 如果是-写入当前时间戳并执行脚本。 伪sql来展示这个想法:
(不同的sql服务器需要对上述内容进行不同的更改) 不要使用两个查询-SELECT和UPDATE,因为它不再是原子的了。 |