server { # … other directives location ~ \.php$ { # … other configuration fastcgi_read_timeout 600; } }
Second, to increase the amount of time that this particular PHP routine could spend running, I increased the execution time limit programmatically before each processing block:
public function long_running_process ($blocks) { foreach ($blocks as $block) { // Add to the total execution time for this script. set_time_limit(120); // Perform another block of data processing. $this->process_block($block); } }
With this configuration, other PHP scripts are still capped at the default timeout value set in php.ini, and no individual block of processing is allowed to run away with the full ten-minute time limit.
]]>