国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

修改php.ini以達到屏蔽錯誤信息并記錄日志

2024-05-04 23:09:43
字體:
來源:轉載
供稿:網友
那是因為php.ini中關閉了錯誤顯示,將錯誤寫成了文件,這是人為設置的結果,display_errors =on就好了。
不過不顯示錯誤倒安全點,建議調試時打開,然后提供服務時關閉。

提供一點資料給你:

display_errors = On

php缺省是打開錯誤信息顯示的,我們把它改為:

display_errors = Off

關閉錯誤顯示后,php函數執行錯誤的信息將不會再顯示給用戶,這樣能在一定程度上防止攻擊者從錯誤信息得知腳本的物理位置,以及一些其它有用的信息,起碼給攻擊者的黑箱檢測造成一定的障礙。這些錯誤信息可能對我們自己有用,可以讓它寫到指定文件中去,那么修改以下:

log_errors = Off

改為:

log_errors = On

以及指定文件,找到下面這行:

;error_log = filename

去掉前面的;注釋,把filename改為指定文件,如/usr/local/apache/logs/php_error.log

error_log = /usr/local/apache/logs/php_error.log

這樣所有的錯誤都會寫到php_error.log文件里。

====================================

error_reporting
配置錯誤信息回報的等級。
語法: int error_reporting(int [level]);
返回值: 整數
函數種類: PHP 系統功能

本函數用來配置錯誤信息回報的等級,參數 level 是一個整數的位遮罩 (bitmask),見下表。
遮罩值 表示名稱
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING

E_NOTICE 表示一般情形不記錄,只有程序有錯誤情形時才用到,例如企圖存取一個不存在的變量,或是呼叫 stat() 函數檢視不存在的文件。
E_WARNING 通常都會顯示出來,但不會中斷程序的執行。這對除錯很有效。例如:用有問題的正則表達式呼叫 ereg()。
E_ERROR 通常會顯示出來,亦會中斷程序執行。意即用這個遮罩無法追查到內存配置或其它的錯誤。
E_PARSE 從語法中解析錯誤。
E_CORE_ERROR 類似 E_ERROR,但不包括 PHP 核心造成的錯誤。
E_CORE_WARNING 類似 E_WARNING,但不包括 PHP 核心錯誤警告。
————————————
額外:
1.
php文件中
error_reporting(7) 其中的7 就是 1+2+4,也就是回報 1 E_ERROR 2 E_WARNING 4 E_PARSE
2.
php.ini中
display_errors = Off //默認是關閉錯誤提示
error_reporting = E_ALL //顯示從不良編碼實踐到無害提示到出錯的所有信息,由于回報的信息太細化了,包括了無害信息,為了在開發過程中能看到實際的提示,建議配置為 error_reporting = E_ALL & ~E_NOTICE
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉田县| 托克托县| 高青县| 伊川县| 白沙| 大丰市| 湘潭县| 类乌齐县| 彭山县| 莱西市| 上蔡县| 博湖县| 朝阳区| 沿河| 灌云县| 米脂县| 安仁县| 西乌珠穆沁旗| 敖汉旗| 庆元县| 阿鲁科尔沁旗| 醴陵市| 洪江市| 自治县| 苗栗县| 赞皇县| 霍林郭勒市| 高台县| 永福县| 蓬溪县| 额尔古纳市| 深泽县| 大港区| 胶南市| 百色市| 汉中市| 七台河市| 河曲县| 磐石市| 西林县| 沭阳县|