配置 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
然后使用以下命令修改文件的屬主和權限:
立即學習“PHP免費學習筆記(深入)”;
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