Z
вариант 1 локать вызов PHP скрипта который запущен от какого либо пользователя.
вариант 2 локать вызов PHP скрипта в принципе если он уже запущен.
локать транзакцию какую то конкретную может только база , т.к. это уже её компетенция. Да, вызов лока в БД можно запустить через PHP , чем я сейчас и занимаюсь, но всё равно за это будет отвечать БД.
В моём конкретном случае у меня есть URL адрес на который постоянно идут запросы непрерывно, по очень много запросов в секунду. И делаю я вставку транзакции только в опеределенных случаях, и когда пользователь сделает определенный набор действий та же самая транзакция тоже вставляется.
Бывает так что инициировал пользователь и удаленный сервер вставку одновременно. Я не могу делать недоступной программу т.к. это вызовет огромные тормоза.