溫馨提示×

如何解決Linux上php-fpm超時問題

小樊
45
2025-10-01 12:19:37
欄目: 編程語言

在Linux上,PHP-FPM超時問題通常是由于腳本執行時間過長導致的。要解決這個問題,你可以嘗試以下方法:

  1. 修改PHP配置文件(php.ini): 找到max_execution_time設置項,將其值增加到一個更大的值,例如300(單位:秒)。如果找不到該設置項,請在文件末尾添加一行max_execution_time = 300。然后重啟PHP-FPM服務使更改生效。

    sudo service php-fpm restart
    
  2. 修改Nginx配置文件: 如果你使用的是Nginx作為Web服務器,可以在Nginx配置文件中設置proxy_read_timeoutproxy_connect_timeout參數,以允許更長的響應時間。例如,將這兩個參數的值設置為300秒:

    location ~ \.php$ {
        ...
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        fastcgi_param  SCRIPT_NAME  $fastcgi_script_name;
        fastcgi_param  REQUEST_URI  $request_uri;
        fastcgi_param  CONTENT_TYPE $content_type;
        fastcgi_param  CONTENT_LENGTH $content_length;
    
        # 設置超時時間
        fastcgi_read_timeout 300s;
        fastcgi_connect_timeout 300s;
    }
    

    修改完成后,重啟Nginx服務使更改生效。

    sudo service nginx restart
    
  3. 修改PHP-FPM配置文件(php-fpm.conf): 在PHP-FPM配置文件中,找到request_terminate_timeout設置項,將其值增加到一個更大的值,例如300(單位:秒)。如果找不到該設置項,請在文件末尾添加一行request_terminate_timeout = 300。然后重啟PHP-FPM服務使更改生效。

    sudo service php-fpm restart
    

請注意,增加超時時間可能會導致服務器負載增加,因此請根據實際情況進行調整。同時,也要檢查你的代碼是否存在性能瓶頸,優化代碼以減少執行時間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女