为 PHP7 和 Nginx 设置 max_execution_time

为 PHP7 和 Nginx 设置 max_execution_time

我跟着本指南并更新了值:

/etc/php/7.0/fpm/php.ini并更改/添加以下内容:

max_execution_time = 300

/etc/php/7.0/fpm/pool.d/www.conf更改/添加以下内容:

php_admin_value[max_execution_time] = 300

以及/etc/nginx/sites-available/example.com,并在 cgi 部分添加:

fastcgi_read_timeout 300;

...随后重新启动但仍然:

# php -i | grep max_execution_time
max_execution_time => 0 => 0

这是我的站点的位置块:

location ~ .php$ {
    fastcgi_split_path_info ^(.+.php)(/.*)$;
    try_files $uri =404;
    fastcgi_keep_conn on;
    fastcgi_read_timeout 600;
    include /etc/nginx/fastcgi_params;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

我做错什么了?

答案1

当您php -i从命令行运行时,它将使用您的 PHP CLI 客户端的配置设置,这些设置可能位于/etc/php/7.0/cli/php.ini

如果您想检查 PHP-FPM 的设置,请在您的 Web 根目录中创建一个包含以下内容的脚本:

<?php phpinfo(); ?>

然后在浏览器中转到脚本 URL。

另一个可行的替代方法是运行php -b 127.0.0.1:9000 -i,这将使 PHP CLI 连接到您的 FastCGI 服务器以执行命令。您可能需要根据您的配置更改地址。

相关内容