Fatal error: Maximum execution time of 0 seconds e

2020-02-10 03:06发布

问题:

My script compares 2 source trees, creates a map of possible changed files, compares MD5 hashes and creates a diff-package.

After 28000-29000 files, PHP terminates the script with error:

Fatal error: Maximum execution time of 0 seconds exceeded in /root/_PACKER-TESTER/core/diff.class.php on line 67 (standard in_array() call)

I already tried to set max_input_time to high value (or zero) - nothing.

Setting max_execution_time to 99999999999999 do nothing .... the same error.

回答1:

Try setting max_input_time = -1 in php.ini, or using set_time_limit(-1). That worked for me without rebuilding PHP.

This article explains it nicely.



回答2:

Problem solved, php build with litespeed api (lsapi) has extra env variable to determine max execute time - LSAPI_MAX_PROCESS_TIME (default is 300sec).



回答3:

Try set_time_limit() and check in phpinfo() if you are able to set the time limit:

set_time_limit(60*60);phpinfo();exit;


回答4:

I've found the "max execution time of 0 seconds exceeded" can be caused by the code going into an infinite loop.

For example:

while (true) { ... }

causes this error for me.

If it's not an environment variable (as mentioned previously) I would examine what's on the line number reported by php with the error