views:

61

answers:

1

I recently created a Java frontend for a PHP web-service which uses PHPs SoapServer.

My application is performing a long-running data synchronization and from what I know from PHP I prepared myself to get closed connections because of the max_execution_time limit.

But I never get any kind of error, as if the SoapServer instance is running forever.

My best guess here, is that I don't really understand how SoapServer is working. So, can anyone shed some light on this? Is SoapServer not affected by the max_execution_time?

EDIT: In my tests max_execution_time is set to 5 minutes, but my program is running for hours.

+2  A: 

If the max_execution_time is set to 0, either in your php.ini or by using ini_set() or set_time_limit() in your script, then there would be no limit. Could this be the reason?

Edit: Also, I just noticed this in the manual:

Note: The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running. This is not true on Windows where the measured time is real.

Perhaps you aren't getting cut of because most of the time is spent on streaming data or executing queries, which according to this, would not count towards the time limit.

Atli