PHP錯誤報告級別

1 E_ERROR       致命的運行時錯誤php

 

2 E_WARNING      運行時警告(非致命性錯誤)html

 

4 E_PARSE       編譯時解析錯誤web

 

8 E_NOTICE      運行時提醒(常常是bug,也多是有意的)數據庫

 

16 E_CORE_ERROR    PHP啓動時初始化過程當中的致命錯誤安全

 

32 E_CORE_WARNING   PHP啓動時初始化過程當中的警告(非致命性錯)服務器

 

64 E_COMPILE_ERROR   編譯時致命性錯app

 

128 E_COMPILE_WARNING  編譯時警告(非致命性錯)socket

 

256 E_USER_ERROR    用戶自定義的致命錯誤ide

 

512 E_USER_WARNING   用戶自定義的警告(非致命性錯誤)函數

 

1024 E_USER_NOTICE    用戶自定義的提醒(常常是bug,也多是有意的)

 

2048 E_STRICT      編碼標準化警告(建議如何修改以向前兼容)

 

4096 E_RECOVERABLE_ERROR 接近致命的運行時錯誤,若未被捕獲則視同E_ERROR

 

6143 E_ALL        除E_STRICT外的全部錯誤(PHP6中爲8191,即包含全部)

 

track_errors = Off

 

是否在變量$php_errormsg中保存最近一個錯誤或警告消息。

 

display_errors = On

 

是否將錯誤信息做爲輸出的一部分顯示。

 

在最終發佈的web站點上,強烈建議你關掉這個特性,並使用錯誤日誌代替(參看下面)。

 

在最終發佈的web站點打開這個特性可能暴露一些安全信息,

 

例如你的web服務上的文件路徑、數據庫規劃或別的信息。

 

display_startup_errors = Off

 

是否顯示PHP啓動時的錯誤。

 

即便display_errors指令被打開,關閉此參數也將不顯示PHP啓動時的錯誤。

 

建議你關掉這個特性,除非你必需要用於調試中。

 

report_memleaks = On

 

是否報告內存泄漏。這個參數只在以調試方式編譯的PHP中起做用,

 

而且必須在error_reporting指令中包含 E_WARNING

 

report_zend_debug = On

 

尚無說明文檔

 

html_errors = On

 

是否在出錯信息中使用HTML標記。

 

注意: 不要在發佈的站點上使用這個特性!

 

docref_root = ;"http://localhost/phpmanual/"

 

docref_ext =  ;".html"

 

若是打開了html_errors指令,PHP將會在出錯信息上顯示超鏈接,

 

直接連接到一個說明這個錯誤或者致使這個錯誤的函數的頁面。

 

你能夠從http://www.php.net/docs.php下載php手冊,

 

並將docref_root指令指向你本地的手冊所在的URL目錄。

 

你還必須設置docref_ext指令來指定文件的擴展名(必須含有''.'')。

 

注意: 不要在發佈的站點上使用這個特性。

 

error_prepend_string = ;"<font color=#f00>"

 

用於錯誤信息前輸出的字符串

 

error_append_string =  ;"</font>"

 

用於錯誤信息後輸出的字符串

 

xmlrpc_errors = Off

 

xmlrpc_error_number = 0

 

尚無文檔

 

[PHP-Core-Logging]

 

define_syslog_variables = Off

 

是否認義各類系統日誌變量,如:$LOG_PID, $LOG_CRON 等等。

 

關掉它以提升效率的好主意。

 

你能夠在運行時調用define_syslog_variables()函數來定義這些變量。

 

error_log =

 

將錯誤日誌記錄到哪一個文件中。該文件必須對Web服務器用戶可寫。

 

syslog 表示記錄到系統日誌中(NT下的事件日誌, Unix下的syslog(3))

 

若是此處未設置任何值,則錯誤將被記錄到Web服務器的錯誤日誌中。

 

log_errors = Off

 

是否在日誌文件裏記錄錯誤,具體在哪裏記錄取決於error_log指令。

 

強烈建議你在最終發佈的web站點時使用日誌記錄錯誤而不是直接輸出,

 

這樣可讓你既知道那裏出了問題,又不會暴露敏感信息。

 

log_errors_max_len = 1024

 

設置錯誤日誌中附加的與錯誤信息相關聯的錯誤源的最大長度。

 

這裏設置的值對顯示的和記錄的錯誤以及$php_errormsg都有效。

 

設爲 0 能夠容許無限長度。

 

ignore_repeated_errors = Off

 

記錄錯誤日誌時是否忽略重複的錯誤信息。

 

錯誤信息必須出如今同一文件的同一行才被被視爲重複。

 

ignore_repeated_source = Off

 

是否在忽略重複的錯誤信息時忽略重複的錯誤源。

 

[PHP-Core-Mail]

 

要使郵件函數可用,PHP必須在編譯時可以訪問sendmail程序。

 

若是使用其它的郵件程序,如qmail或postfix,確保使用了相應的sendmail包裝。

 

PHP首先會在系統的PATH環境變量中搜索sendmail,接着按如下順序搜索:

 

/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib

 

強烈建議在PATH中可以找到sendmail。

 

另外,編譯PHP的用戶必須可以訪問sendmail程序。

 

SMTP = "localhost"

 

mail()函數中用來發送郵件的SMTP服務器的主機名稱或者IP地址。僅用於win32。

 

smtp_port = 25

 

SMTP服務器的端口號。僅用於win32。

 

sendmail_from =

 

發送郵件時使用的"From:"頭中的郵件地址。僅用於win32

 

該選項還同時設置了"Return-Path:"頭。

 

sendmail_path = "-t -i"

 

SYS

 

僅用於unix,也可支持參數(默認的是''sendmail -t -i'')

 

sendmail程序的路徑,一般爲"/usr/sbin/sendmail或/usr/lib/sendmail"。

 

configure腳本會嘗試找到該程序並設定爲默認值,可是若是失敗的話,能夠在這裏設定。

 

不使用sendmail的系統應將此指令設定爲sendmail替代程序(若是有的話)。

 

例如,Qmail用戶一般能夠設爲"/var/qmail/bin/sendmail"或"/var/qmail/bin/qmail-inject"。

 

qmail-inject 不須要任何選項就能正確處理郵件。

 

mail.force_extra_parameters =

 

做爲額外的參數傳遞給sendmail庫的強制指定的參數附加值。

 

這些參數老是會替換掉mail()的第5個參數,即便在安全模式下也是如此。

 

[PHP-Core-ResourceLimit]

 

default_socket_timeout = 60

 

默認socket超時(秒)

 

max_execution_time = 30

 

每一個腳本最大容許執行時間(秒),0 表示沒有限制。

 

這個參數有助於阻止劣質腳本無休止的佔用服務器資源。

 

該指令僅影響腳本自己的運行時間,任何其它花費在腳本運行以外的時間,

 

如用system()/sleep()函數的使用、數據庫查詢、文件上傳等,都不包括在內。

 

在安全模式下,你不能用ini_set()在運行時改變這個設置。

相關文章
相關標籤/搜索