首頁  >  文章  >  運維  >  nginx中如何輸出php錯誤日誌文件

nginx中如何輸出php錯誤日誌文件

王林
王林轉載
2023-05-18 16:59:041269瀏覽

設定 Nginx

在 Nginx 的設定檔中加入一些設定項,可以輸出 PHP 的錯誤日誌檔案。一般情況下, CentOS 系統上的 Nginx 設定檔會保存在 /etc/nginx/nginx.conf。通常位於檔案頂部,你可以在檔案中找到http 模組的設定段,並新增以下設定項:

http {
    ...
    server {
        ...
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;

            # error log
            fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";
        }
        ...
    }
    ...
}

只有當存取URL 以.php 結尾時,才會套用該設定項,即使用location ~ .php$。在 fastcgi_pass 中設定了 PHP FastCGI 伺服器的位址和連接埠。 fastcgi_param 用於設定 PHP 的參數,其中 SCRIPT_FILENAME 指定 PHP 腳本的路徑和檔案名稱。使用預設的 FastCGI 參數,需要在 Nginx 中包含 fastcgi_params。最後一行新增了 fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";,表示將 PHP 的錯誤訊息記錄到 /var/log/nginx/php_errors.log 檔案中。

建立日誌檔案

建立一個日誌檔案用於記錄 PHP 的錯誤訊息,這是在配置 Nginx 後所需的步驟。假設我們要將日誌檔案儲存到/var/log/nginx/php_errors.log,可以使用下列指令建立檔案:

sudo touch /var/log/nginx/php_errors.log

然後使用下列指令修改檔案的屬主和權限:

sudo chown nginx:nginx /var/log/nginx/php_errors.log
sudo chmod 644 /var/log/nginx/php_errors.log

測試

測試時,可以建立一個PHP 腳本並出現錯誤,例如:

<?php
echo 1/0;
?>

將這個腳本儲存為test.php,然後將其放置在Nginx 的Web 根目錄下,例如/usr/share/nginx/html/test.php。當你造訪 http://localhost/test.php 時,你會發現出現了一個 PHP 錯誤。然後使用以下命令查看日誌檔案內容:

sudo tail /var/log/nginx/php_errors.log

如果一切正常,應該可以看到類似如下的錯誤訊息:

[17-Oct-2021 20:52:42 UTC] PHP Warning:  Division by zero in /usr/share/nginx/html/test.php on line 2

以上是nginx中如何輸出php錯誤日誌文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除