PHP set_time_limit не работает, даже если он меньше других ограничений. Например, следующий код будет работать до конца:Nginx + php5-fpm не соответствует set_time_limit
<?php
set_time_limit(5);
sleep(10);
echo "Did not work!";
?>
Я знаю о request_terminate_timeout
и fastcgi_read_timeout
, но это не имеет значения в данном случае.
Как я могу установить ограничение времени nginx + php5-fpm, которое я устанавливаю?
У меня есть довольно много configurigation по умолчанию для обоих:
Nginx:
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
PHP5-FPM:
Default config, no limit specified (request_terminate_timeout = 0)
PHP:
max_execution_time = 30
Хотя в php-fpm documentation говорит о request_terminate_timeout
: "This option should be used when the 'max_execution_time' ini option does not stop script execution for some reason."
Я все еще хотел бы найти решение этой проблемы ...
Примечание: Я использую Ubuntu 14.04, Nginx 1.4 .6 и PHP 5.5.
Как кажется, вы правы. С 'while (true);' работает как ожидалось :) – Kristian