[精讚] [會員登入]
25254

[Apache] 顯示或不顯示錯誤

php預設錯誤不顯示,有三種方法可以顯示或不顯示錯誤

分享此文連結 //n.sfs.tw/10420

分享連結 [Apache] 顯示或不顯示錯誤@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2022-03-16 00:36:07 最後編修
2016-12-12 12:02:34 By 張○○
 

自動目錄

php預設錯誤不顯示,可修改 /etc/php.ini

; 約513行,顯示全部除了作廢等級
error_reporting = E_ALL & ~E_DEPRECATED
; 約530行,顯示錯誤
display_errors = On
; 約541行,顯示php啟動錯誤
display_startup_errors = Off
; 約 551,記錄錯誤
log_errors = On

但如果沒辦法或沒存取php.ini的權限,例如是共用的伺服器;或是不想影響其他網頁的設定,有兩個方法:

方法一,使用php的ini_set

<?php
ini_set(‘error_reporting’, E_ALL & ~E_DEPRECATED);
ini_set(‘display_errors’, 1);
ini_set(‘display_startup_errors’, 1); 


吃飽了休息一下

方法二,使用 .htaccess 檔

條件是目錄的權限要容許 overwrite

    <Directory "/path/to/your/website">
        AllowOverride All
        ...
    </Directory>

在你的網頁目錄下新增一個.htaccess的檔,內容為

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
# 設定把錯誤記錄
php_flag  log_errors on
php_value error_log  /path/to/your/website/PHP_errors.log
# 防止直接由網頁存取log
<Files PHP_errors.log>
   Order allow,deny
   Deny from all
   Satisfy All
</Files>

參考資料

[1] http://perishablepress.com/press/2007/12/17/how-to-enable-php-err

 

 

END

你可能感興趣的文章

[Apache] 顯示或不顯示錯誤 php預設錯誤不顯示,有三種方法可以顯示或不顯示錯誤

[HTTPS] Ubuntu +SSL +正式的CA 設定 利用正式的CA憑證,設定網站SSL,有別於過去使用的「未授權憑證」

[APACHE] Centos7,8設定 HSTS ( HTTP Strict Transport Security ) CENTOS7,CENTOS8 資安上需要設定的 HSTS的方法。

[Apache] 自訂錯誤頁面及移掉歡迎頁 Apache 有一個歡迎頁,以正式網站來說,出現這頁有點不專業,該移除它..

UTF-8的網頁但IE8一片空白 UTF8編碼的網頁在Firefox 正常顯示、但IE8 就是空白,IE8編碼設定是「自動偵測」可是自動偵測到的是 big5...

強迫網頁預設編碼語系 大部分的瀏覽器如果編碼設成「自動偵測」時都能正確的分析。但世界並不會這麼平順完美,明明我這樣設定utf8他就是用big5丟出來...

<<此文不開放留言>>

隨機好文

[jQuery] 利用load()來達成ajax的寫法 jQuery中利用load()來達成ajax的寫法,也有人稱他是假的ajax,作法就是..

為什麼要買長達二十年的保單? 為什麼要買長達二十年的保單?找一個可以說服我買二十年保單的理由。

Linux shell 的date表示法 linux下SHELL中的date表示法

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

[JAVA] JWS, JWT, JWE, JOSE是什麼? [JAVA] JWS, JWT, JWE, JOSE是什麼?非常的複雜,儘量來搞清楚..