搜尋
首頁後端開發PHP問題怎麼查看php 報錯日誌

怎麼查看php 報錯日誌

Apr 19, 2023 am 09:20 AM

在開發和維運過程中,遇到錯誤是十分常見的。特別是在 PHP 開發中,錯誤的排查過程可能比較困難,因為報錯資訊只會顯示在頁面的一個小區域或是記錄在伺服器日誌中。本文將介紹如何查看 PHP 報錯日誌,方便開發人員快速定位並解決問題。

一、PHP 錯誤常見場景

  1. PHP 程式碼錯誤

當PHP 程式碼出現錯誤時,系統會拋出異常,PHP 通常會向瀏覽器輸出錯誤訊息。如果開啟了日誌記錄功能,錯誤訊息也會被記錄到錯誤日誌檔案中。但是,這種方法只適用於開發環境,不適用於生產環境。

  1. PHP 設定錯誤

PHP 的設定檔中可能會出現語法錯誤,如缺少分號、括號等造成的語法錯誤。更嚴重的錯誤是設定檔中出現的安全性問題,例如將錯誤訊息輸出到瀏覽器中等。這些錯誤訊息可能會被攻擊者利用來進行攻擊。如果出現設定錯誤,通常會在存取應用程式時立即得到回饋。

  1. PHP 擴充庫錯誤

PHP 將許多功能都實作為擴充庫的形式,如資料庫連接、快取等等。如果安裝和使用擴充功能庫時出現問題,可能會導致應用程式無法正確運作。這種錯誤通常需要查看 PHP 日誌檔案才能準確地找到問題所在。

二、PHP 報錯日誌的存放位置

PHP 錯誤日誌位置取決於 PHP 設定檔( php.ini)中設定的值。在 php.ini 檔案中可以設定 PHP 錯誤日誌、存取日誌等日誌的位置。

  1. PHP 錯誤日誌存放位置

PHP 錯誤日誌可以透過以下兩種方式設定:

在php.ini 檔案中設定log_errors = On 即可開啟PHP 錯誤日誌開關。

在 php.ini 檔案中設定 error_log ,指定 PHP 錯誤日誌的存放位置。例如:error_log = "/var/log/php_error.log"。當錯誤發生時,PHP 會將錯誤訊息寫入指定的檔案中。

一般情況下,PHP 錯誤日誌存放在作業系統或 Web 伺服器的預設日誌目錄中。常見的存放路徑包括:

預設的系統日誌路徑:/var/log/messages 或/var/log/syslog;

Apache Web 伺服器的錯誤日誌路徑:/var/log /httpd/error_log;

Ngnix Web 伺服器的錯誤日誌路徑:/var/log/nginx/error.log;

PHP-FPM 日誌預設路徑:/usr/local/php/ var/log/php-fpm.log;

  1. 存取日誌存放位置

#存取日誌記錄了應用程式的所有存取記錄。同樣可以透過設定 php.ini 檔案中的 access.log 和 access.format 來開啟和配置存取日誌。例如:

access.log = "/var/log/php_access.log"

access.format = "%h %l %u %t \"%r\" %> s %b \"%{Referer}i\" \"%{User-Agent}i\""

上述設定將指定存取日誌的存放位置和記錄方式。當使用者存取應用程式時,會將存取資訊記錄在指定的日誌檔案中。

三、查看 PHP 錯誤日誌

在存取應用程式時,如果出現了錯誤,則這些錯誤訊息可能會寫入到 PHP 錯誤日誌檔案中。近年來,為了提高應用程式的安全性和穩定性,越來越多的 Web 網站禁用了錯誤輸出。因此,如果出現 PHP 錯誤,可以嘗試查看 PHP 錯誤日誌來定位錯誤訊息。

PHP 錯誤日誌通常包含許多訊息,如:

Error type 錯誤類型。

Message 錯誤訊息。

File PHP 檔案路徑。

Line 行號。

Time 時間戳記。

其中,時間戳表示此錯誤的發生時間。要查看PHP 錯誤日誌,可以在終端命令列中執行以下命令:

tail -f /var/log/php_error.log

上述命令將輸出php_error.log 檔案的最後10行,並保持輸出狀態,以便設定即時查看錯誤日誌。

在查看 PHP 日誌時,也可使用腳本進行篩選。例如,如果您只想在日誌中尋找「curl」 變數相關的錯誤,可以使用下列命令:

cat /var/log/php_error.log | grep curl

該指令會在php_error.log 檔案中尋找「curl」 相關的錯誤訊息。

四、結論

在 PHP 應用程式開發中,錯誤檢查是一項不可或缺的工作。根據錯誤類型和錯誤位置,選擇合適的日誌記錄方式才能幫助開發人員有效地定位並解決問題。本文詳細介紹了 PHP 報錯日誌的存放位置以及如何查看 PHP 報錯日誌。這些技巧將幫助開發人員更快速地識別和修復錯誤,並提高程式的穩定性。

以上是怎麼查看php 報錯日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。