1. 程式人生 > 其它 >php nginx 504 Gateway Timeout 閘道器超時錯誤

php nginx 504 Gateway Timeout 閘道器超時錯誤

對於 Nginx + FastCGI上的504閘道器超時錯誤(php-fpm),我們可以修改PHP和nginx的執行超時時間。

配置php

修改 php.ini(CentOS路徑是/etc/php.ini)最大執行時間為300秒

max_execution_time = 300

修改 php-fpm配置檔案(CentOS路徑是/etc/php-fpm.d/www.conf) 請求超時時間為300秒

request_terminate_timeout = 300

linux php重啟
https://www.cnblogs.com/niuben/p/13284136.html

檢查php程序是否啟動

ps -ef | grep php-fpm

殺掉所有 php-fpm 程序

pkill php-fpm

重啟php

/usr/sbin/php-fpm 

如果有以下報錯,說明php-fpm資料夾不存在,手動新建一個資料夾即可,然後再重啟php /usr/sbin/php-fpm

 ERROR: unable to bind listening socket for address '/run/php-fpm/www.sock': No such file or directory (2)
[04-Nov-2021 11:28:56] ERROR: FPM initialization failed

新建缺失的 php-fpm 資料夾

mkdir /run/php-fpm

最後記得檢查 php 程序是否已啟動 ps -ef | grep php-fpm

配置nginx

fastcgi_read_timeout 新增到如下:

    location ~ \.php/ {
       if ($request_uri ~ ^(.+\.php)(/.+?)($|\?)) { }
       fastcgi_pass unix:/run/php-fpm/www.sock;
       include fastcgi_params;
       fastcgi_param SCRIPT_NAME     $1;
       fastcgi_param PATH_INFO       $2;
       fastcgi_param SCRIPT_FILENAME $document_root$1;
       fastcgi_read_timeout 300;
    }

檢查nignx配置檔案

nginx -t

重啟nginx

nginx -s reload