質問

I have a long-running PHP script with set_time_limit(0) set. It works very good for 15 minutes (900 sec) but then become something very strange: a second process with the same parameters starting! I see it because I am starting a new log file at the beginning of the script and there is two log files processing same data!

BTW script runs in background from PHP with

exec('wget http://example.com/script.php?id=NNN > /dev/null &');

This instruction normally runs only once, and I can not get what runs it second time after 900 seconds (exact time).

役に立ちましたか?

解決

This is because wget has a read time limit of 900sec. After it is reached, the download restarts. You can set the timeout higher with the --timeout=seconds or the --read-timeout=seconds argument. Or, you can start it directly from the shell(this way is much better). Here is a link: wget download options Here is the shell code(for Linux):

exec('php yourscript.php > /dev/null 2>&1 &');
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top