Nginx

Nginx 不記錄 PHP 錯誤

  • July 20, 2018

在我的網站上訪問一些 PHP 腳本時,我收到了可怕的 500 錯誤消息。我想知道修復它有什麼問題,但是 Nginx 沒有在我指定的日誌文件中記錄任何 PHP 錯誤。這是我的伺服器塊:

server {
   listen 80;
   server_name localhost;
   access_log /home/whitey/sites/localhost/logs/access.log;
   error_log /home/whitey/sites/localhost/logs/error.log error;
   root /home/whitey/sites/localhost/htdocs;
   index index.html index.php /index.php;

   location / { 

   }

   location ~ \.php$ {
       fastcgi_pass unix:/tmp/phpfpm.sock;
       fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include fastcgi_params;
   }

   location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
       expires max;
   }
}

請注意,有些 PHP 腳本可以正常工作,而有些則不能。所以 PHP 沒有全域問題,只是這些腳本中有一些東西導致 Nginx 拋出 500 錯誤。

我怎樣才能找到這件事的底部?唯一的問題error.log是關於未找到 favicon.ico 的錯誤。

您必須將以下內容添加到您的 php-fpm 池配置中:

catch_workers_output = 1

您必須將此行添加到每個定義的池中!

我有一個類似的問題。

我嘗試在 CentOS7 上使用 php-fpm 7.0 和 nginx 部署 phpMyAdmin。Nginx 向我顯示 500.html 但任何日誌文件中都沒有錯誤。我做了這一切

catch_workers_output = 1

display_errors = On

nginx 日誌或 php-fpm 日誌均未包含任何錯誤字元串。

當我在 nginx.conf 中評論這一行時,我能夠在瀏覽器頁面中看到錯誤的內容。

#    error_page 500 502 503 504 /50x.html;
#    location = /50x.html {
#    }

這就是幫助我理解麻煩的原因。

引用自:https://serverfault.com/questions/417102