Алексей Денисов, так php имеет доступ к файловой системе. Под тем пользователем, от которого запускается, www-data.
Чтоб не шуровал выше где не надо есть open_basedir.
А что, твое api там сидит на сервере без гита?
Он бы показал если что в код ливанули. А вендор переустановить.
А так конечно ваши самописные скрипты, вызывают подозрение. Даже по сказанному видно что они как то странно собирались, не одна точка входа, а кучка файликов, так давно не делается
А как вы добиваетесь чтобы AR-ки выбирались с этим FOR UPDATE?
Ищете их через ::findBySql ?
В логах мускула точно проверяли что sql код в транзакции именно такой как ваш псевдокод?
тз сложно найти, т.к. их зачастую никто не составляет, а используют итеративный процесс.
Не составляют, т.к. только программисты всем должны, должны быть умнющими, все уметь и знать.
А клиенты и бизнес аналитики ничего не должны знать и уметь, им составить ТЗ никак не выйдет, просто rocket sience это для них