Как ограничить время запроса к soap серверу?
ini_set в default_socket_timeout и connection_timeout в параметрах SoapClient
Например, можно сделать через демона, на том же php. При старте скрипта, записываете айди процесса и время старта (например в бд в мемори таблицу), а демон постоянно просматривает таблицу, и убивает те процессы, которые запущены дольше определённого времени.