In general, set the time when PHP script execution times out
One, in the php.ini inside set
max_execution_time = 1800;
Second, through the PHP ini_set function set
Ini_set ("Max_execution_time", "1800");
Third, through the Set_time_limit function set
Set_time_limit (1800);
php-fcgi The execution time setting method of PHP
Yesterday, a program needs to export 500 data, the results found that 150 is, Nginx reported 504 Gateway timeout error
It was observed that time-outs of about 30 seconds were found, and the execution times in php.ini were 300 seconds:
Copy the Code code as follows: Max_execution_time = 300
Re-check the relevant configuration of nginx, no fruit.
I wrote a test page for PHP and then measured it.
Copy the Code code as follows:
Echo ' AAA ';
Set_time_limit (0);
Sleep (40);
echo ' AA ';
Still timeout, you can determine that the Set_time_limit function is not effective.
Re-check the configuration of php-fcgi php-fpm.conf, the bottom of this setup suspect a problem
Copy the Code code as follows:
505
Check official documents: Http://php-fpm.org/wiki/Configuration_File
Copy the Code code as follows:
Request_terminate_timeout-the timeout (in seconds) for serving a single request after which the worker process would be t Erminated. Should is used when the ' max_execution_time ' ini option does not the stop script execution for some reason. Default: "5s". Note: ' 0s ' means ' off '
The main idea is that PHP in Set_time_limit set the time if PHP has not finished, then go to the configuration here, that is, request_terminate_timeout=30 seconds.
First change this parameter and PHP in the same set_time_limit value, are 300 seconds, not yet, do not understand why, if the master know please enlighten.
Finally the Request_terminate_timeout closed, the program can be executed normally, problem solving
Copy the Code code as follows: 0s
Add: If the Nginx server on the front-end uses upstream load balancing, the following parameters in that load balancer configuration need to be modified accordingly
Copy the Code code as follows:
Proxy_connect_timeout 300s;
Proxy_send_timeout 300s;
Proxy_read_timeout 300s;
http://www.bkjia.com/PHPjc/328087.html www.bkjia.com true http://www.bkjia.com/PHPjc/328087.html techarticle in general, set the time of PHP script execution timeout, set max_execution_time = 1800 in php.ini, and set Ini_set via PHP's Ini_set function ("Max_execution_time", " ...