возможно я несовсем понимаю как он должен работать
смысл данного кода прост как мычание
$lock = fopen(__DIR__ . '/lock_start.lock', 'w');
открываете файл
if (!($lock && flock($lock, LOCK_EX))) exit('already running');
пытаетесь установить блокировку, если установить блокировку не удается то выходит
для корректной работы скрипта должна быть доступна операция записи в файл __DIR__ . '/lock_start.lock'
а если файла нет, то должна быть доступна операция создания файла в каталоге __DIR__
p.s. использовать базу данных можно только если она допускает транзакцию, что бы чтение и запись были атомарными.
p.p.s. в обоих случаях возможны дедлоки, следует предусмотреть как их обходить