Marc Venturini napsal(a):
Hi all, I wrote a PHP script running in Apache which takes more than 30 seconds to complete. It uses set_time_limit() to extend the time it is allowed to run. The script generates thumbnails from a list of images. Upon completion, the script redirects the browser to another page using HTTP headers.
If you die() at the end of the script and don't redirect does it continue this auto-30-seconds execution?
On my local machine (Windows + EasyPHP), the script runs as expected and completes after a few minutes. I observe an unexpected behavior on my production web server: - The script runs as expected for the first 30 seconds. - After 30 seconds, the same script with the same parameters starts again in a new thread/process. The initial thread/process is *not* interrupted, so 2 threads/processes run in parallel, executing the same sequence of operations with a 30 time shift. - The same scenario happens every 30 seconds (i.e.: at 0"30, 1"00, 1"30, and so on), multiplying the parallel threads/processes.
- The browser keeps on loading while the above happens.
- After some time, the browser displays a blank page and all the threads/processes stop. I assume this is due to resources exhaustion, but I have no means to check this assumption. I deduced the above reading a text file in which I log the sequence of called functions.
It all seems as a redirection / unclosed loop problem.
Unfortunately I have no access *at all* to my production web server configuration (shared hosting, no documentation). I cannot even read the configuration settings. While I'm considering moving to another host, I'd be extremely pleased to have an explanation of the observed behavior. I have browsed the mailing list archives and looked for an explanation in other forums to no avail. This thread may deal with the same issue but does not include any explanation or solution: http://www.networkedmediatank.com/showthread.php?tid=17140 Thanks for reading, and please do not hesitate to ask for further explanations if what I'm trying to achieve was not clear!
Why it works on your local server is probably caused by different versions/settings, but I bet there's an error somewhere in your script.
Consider sending it here, I'll take a look.
Cheers, Marc.
Martin -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php