There is also pcntl_signal function which you can use
to install your own timeout handling function which can be used for
example to print nice error message as well as to do some cleanup work
- for example you can open another MySQL connection to kill the query
which was running (otherwise query may well continue to run even if PHP
script is aborted).
Но это плохо что у вас есть sql запросы которые долго выполняются, их нужно отлавливать в slow query log и профайлить с explain например.
Попробовал pcntl_alarm()
Срабатывает как нужно, вот только при этом sql запрос продолжает выполняться.
И выйдет так, что в результате закончатся доступные коннекты к базе.
А счастье было так близко ... :)