sn01615 / file-lock
Php file lock tool.
v1.1.2
2025-08-24 16:07 UTC
This package is not auto-updated.
Last update: 2025-09-07 16:52:35 UTC
README
应用场景
- 限制只开启一个或有限个进程运行
- 单机单线程排队锁
局限性
只能在同一台服务器内生效 需要临时目录写入权限 (会在临时目录创建一个 _PHP_FileLock_xxx 类似的文件)
Install
composer require sn01615/file-lock
Usage
use PhpUtils\FileLock; # Get lock $status = FileLock::getLock('lockKey'); if ($status) { # Get lock success } else { # It's locked. } # Unlock FileLock::unlock('lockKey');
单机单线程排队:
// 一直排队知道随机抢占到锁 \PhpUtils\Locker::wait("aaa"); // 等待10秒, 如果10秒内没有抢占到锁则返回false, 否则返回true if (\PhpUtils\Locker::wait("aaa", 10)) { echo "获取锁成功"; } else { echo "获取锁失败"; }