PHP 開啟及關閉錯誤訊息輸出

要開啟或關閉 PHP 的錯誤訊息有幾種方法, 分別是在 php.ini 內設定, httpd.conf 及 .htaccess 設定, 或者在 PHP 程式內設定, 以下是各種方法的設定方法。

1. php.ini

在 php.ini 一般預設路徑在 /etc/php.ini, 在 php.ini 內找到 display_errors, 設定為 On 是開啟錯誤信息, Off 是關閉輸出:

另一個可以設定的選項是 error_reporting, 它可以設定輸出那些錯誤提示, 常用的設定有:

修改 php.ini 後, 需要重新啟動網頁伺服器, 設定才會生效:

# systemctl restart httpd

2. httpd.conf / .htaccess

另一種方法是透過 apache 的層面設定, 可以在 httpd.conf 及 .htaccess 設定, 好處是可以對個別虛擬主機或目錄進行設定, 不用修改整台伺服器的設定, CentOS 下 httpd.conf 的預設位置在 /etc/httpd/conf/httpd.conf


# vi /etc/httpd/conf/httpd.conf

在提定的目錄或 VirtualHost 設定, 例如想在 /var/www/html/debug 設定輸出全部錯誤, 可以這樣:

可以看到設定跟 php.ini 差不多, 只是在 php 選項前加入 php_flag 或 php_value 設定, 而在 httpd.conf 的設定, 需要重新啟動網頁伺服器, 設定才會生效:

# systemctl restart httpd

以上語法如果放在 .htaccess 內同樣適用, 而且不用重新啟動網頁伺服器, 只要在設定的目錄下建立 .htaccess, 加入以下語法即可:

php_flag display_errors On
php_flag error_reporting 32767

p.s. error_reporting 只可以用數值設定, 所有設定數值可以在 PHP 官網 取得。

3. PHP 程式

另一個方法是在 php 程式內設定, 分別可以用 ini_set() 及 error_reporting() 兩個函式設定:





Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.