A simple lock implementation using flock.
NOTE: to use php-backoff with PHP 5.x please use the lastet release of branch 2.x
use FSLock\FSLock;
$lock = new FSLock('test');
if ($lock->acquire()) {
// Critical code.
$lock->release();
}
If you want to use a custom path to store the locks, you should instantiate the FSLock like that
$lock = new FSLock('test', '/tmp/');
acquire
: Acquires the lock, returns true if the operation was successful otherwise the return is false.release
: Releases the lock, returns true if the operation was successful otherwise the return is false.id
: returns the lock id.getPath
: returns the lock path
The recommended way to install this package is through Composer.
composer require yriveiro/php-fslock:3.0.0
Tests are performed using the phpunit
library, to run them:
php vendor/bin/phpunit tests
FSLock is licensed under MIT license.