Я использую
ini_set("max_execution_time",0);
тут есть 2 варианта.
либо ты вызываешь скрипт через браузер, т.е. соединение не разрывается, и продолжает жить до тех пор пока идет какая то инфа от сервера. (использование flush() для немедленной отправки данных)
Но соединение все равно может застопиться по различным причинам( плохой инет, особенности браузера...) и тогда твой скрипт остановиться.
я же обычно вызываю через http скрипт, который запускает системным вызовом system("php_path src_file opts")
в котором совместно используется
ini_set("max_execution_time",0);
и
ignore_user_abort(1);
т.е. скрипт начинает жить сам по себе.
но скрипт и в этом случае может застопиться. либо сам вывалиться, либо его пхп вывалит например с ошибкой memory limit , либо сервак может убить (зависит от настроек сервака), но в любом случае и скрипт выполняется шустрее, да и понадежнее этот вариант =)
*если что то непонятно - разъясню подробнее =)