W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
這些函數(shù)的行為受 php.ini 中的設(shè)置影響。
名字 | 默認(rèn) | 可修改范圍 | 更新日志 |
---|---|---|---|
error_reporting | NULL | PHP_INI_ALL | |
display_errors | "1" | PHP_INI_ALL | |
display_startup_errors | "1" | PHP_INI_ALL | PHP 8.0.0 之前,默認(rèn)值是 "0" 。 |
log_errors | "0" | PHP_INI_ALL | |
log_errors_max_len | "1024" | PHP_INI_ALL | PHP 8.0.0 起棄用,PHP 8.1.0 起移除。 |
ignore_repeated_errors | "0" | PHP_INI_ALL | |
ignore_repeated_source | "0" | PHP_INI_ALL | |
report_memleaks | "1" | PHP_INI_ALL | |
track_errors | "0" | PHP_INI_ALL | PHP 7.2.0 起棄用,PHP 8.0.0 起移除 |
html_errors | "1" | PHP_INI_ALL | |
xmlrpc_errors | "0" | PHP_INI_SYSTEM | |
xmlrpc_error_number | "0" | PHP_INI_ALL | |
docref_root | "" | PHP_INI_ALL | |
docref_ext | "" | PHP_INI_ALL | |
error_prepend_string | NULL | PHP_INI_ALL | |
error_append_string | NULL | PHP_INI_ALL | |
error_log | NULL | PHP_INI_ALL | |
error_log_mode | 0o644 | PHP_INI_ALL | 自 PHP 8.2.0 起有效 |
syslog.facility | "LOG_USER" | PHP_INI_SYSTEM | 自 PHP 7.3.0 起可用。 |
syslog.filter | "no-ctrl" | PHP_INI_ALL | 自 PHP 7.3.0 起可用。 |
syslog.ident | "php" | PHP_INI_SYSTEM | 自 PHP 7.3.0 起可用。 |
有關(guān) PHP_INI_* 樣式的更多詳情與定義,見 配置可被設(shè)定范圍。
這是配置指令的簡短說明。
error_reporting
int設(shè)置錯(cuò)誤報(bào)告級別。該參數(shù)可以是表示二進(jìn)制位字段的任意整數(shù)或者常量名稱。error_reporting 級別和常量是在預(yù)定義常量和 php.ini 中進(jìn)行了說明。在程序運(yùn)行時(shí)可以通過 error_reporting() 進(jìn)行設(shè)置。另請查看 display_errors 指令。
默認(rèn)值為 E_ALL
。
PHP 8.0.0 之前,默認(rèn)值是:
。這意味著不會顯示 E_ALL
& ~E_NOTICE
& ~E_STRICT
& ~E_DEPRECATED
E_NOTICE
、 E_STRICT
、E_DEPRECATED
級別的錯(cuò)誤提示。
注意: PHP外的PHP常量
在 PHP 以外(如 httpd.conf)使用 PHP 常量將沒有意義,因此在這種情況下需要 int 值來取代。由于錯(cuò)誤級別會隨著時(shí)間的推移而增長,錯(cuò)誤級別的最大值(
E_ALL
)可能會改變。所以考慮使用更大的值來代替E_ALL
從而覆蓋從現(xiàn)在到未來的所有二進(jìn)制位字段,例如數(shù)值2147483647
(將包含所有錯(cuò)誤,而不僅僅是E_ALL
)。
display_errors
string該選項(xiàng)設(shè)置是否將錯(cuò)誤信息作為輸出的一部分打印到屏幕,或者對用戶隱藏。
值 "stderr"
將錯(cuò)誤發(fā)送到 stderr
而不是 stdout
。
注意:
這是輔助開發(fā)的功能,不應(yīng)在生產(chǎn)系統(tǒng)中使用 (例如連接到互聯(lián)網(wǎng)的系統(tǒng))。
注意:
盡管 display_errors 也可以在運(yùn)行時(shí)設(shè)置 (使用 ini_set()), 但是如果腳本出現(xiàn)致命錯(cuò)誤,它不會起到任何作用。因?yàn)檫€沒執(zhí)行所需的運(yùn)行時(shí)操作。
display_startup_errors
bool即使 display_errors 設(shè)置為開啟,PHP 也不會顯示啟動過程中的錯(cuò)誤。強(qiáng)烈建議除調(diào)試外,都將 display_startup_errors 設(shè)置為關(guān)閉。
log_errors
bool設(shè)置是否將腳本運(yùn)行的錯(cuò)誤信息記錄到服務(wù)器錯(cuò)誤日志或者 error_log。注意,這是與服務(wù)器相關(guān)的特定配置項(xiàng)。
注意:
在生產(chǎn)環(huán)境 web 網(wǎng)站中,強(qiáng)烈建議使用錯(cuò)誤日志記錄代替錯(cuò)誤顯示。
log_errors_max_len
int設(shè)置 log_errors 的最大字節(jié)數(shù). 在 error_log 中添加有關(guān)錯(cuò)誤源的信息。默認(rèn)值為 1024,如果設(shè)置為 0 表示不限長度。該長度適用于記錄的錯(cuò)誤,顯示的錯(cuò)誤,以及 $php_errormsg,但不適用于顯式調(diào)用的函數(shù),例如 error_log()。
當(dāng)使用 int 時(shí), 其值以字節(jié)來衡量。還可以使用在 FAQ 中描述的速記符。ignore_repeated_errors
bool不記錄重復(fù)的信息。重復(fù)的錯(cuò)誤必須出現(xiàn)在同一個(gè)文件中的同一行代碼上,除非 ignore_repeated_source 設(shè)置為 true。
ignore_repeated_source
bool忽略重復(fù)消息時(shí),也忽略消息的來源。當(dāng)該設(shè)置開啟時(shí),重復(fù)信息將不會記錄它是由不同的文件還是不同的源代碼行產(chǎn)生的。
report_memleaks
bool如果這個(gè)參數(shù)設(shè)置為開啟(默認(rèn)),此參數(shù)將會顯示 Zend 內(nèi)存管理器檢測到的內(nèi)存泄露報(bào)告。此報(bào)告將會發(fā)送到 Posix 平臺上的 stderr。在 Windows 上,將使用 OutputDebugString() 發(fā)送到調(diào)試器并可以使用 ? DbgView 等工具查看。此參數(shù)進(jìn)在調(diào)試版本中有效并且需要 error_reporting 包含 E_WARNING
。
track_errors
bool如果開啟,最后的一個(gè)錯(cuò)誤將永遠(yuǎn)存在于變量 $php_errormsg 中。
html_errors
bool如果啟用,錯(cuò)誤消息將包含 HTML 標(biāo)記。HTML 錯(cuò)誤格式會生成可點(diǎn)擊的消息,將用戶引導(dǎo)至描述錯(cuò)誤頁面或者導(dǎo)致錯(cuò)誤的函數(shù)。這些引用跟 docref_root 和 docref_ext 的有關(guān)。
如果啟用,錯(cuò)誤消息將完全是純文本。
xmlrpc_errors
bool如果啟用,則關(guān)閉正常的錯(cuò)誤報(bào)告,并將錯(cuò)誤格式格式化為 XML-RPC 錯(cuò)誤信息。
xmlrpc_error_number
int用作 XML-RPC faultCode 元素的值。
docref_root
string新的錯(cuò)誤信息格式包含了對描述錯(cuò)誤或者導(dǎo)致錯(cuò)誤的函數(shù)的頁面引用。為了提供手冊的頁面,你可以在 PHP 官方站點(diǎn)下載對應(yīng)語言的手冊,并在 ini 中設(shè)置網(wǎng)址到本地對應(yīng)的地址。如果你的本地手冊拷貝可以使用 "/manual/"
訪問,你就可以簡單的設(shè)置 docref_root=/manual/
。另外你還需要設(shè)置 docref_ext 匹配你本地文件的后綴名 docref_ext=.html
。當(dāng)然也可以設(shè)置一個(gè)外部的參考地址。例如你可以設(shè)置 docref_root=http://manual/en/
或者 docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"
通常需要在 docref_root 后面以 "/"
結(jié)尾, 但是在以上的第二種示例情況中不必這么設(shè)置。
注意:
這是輔助開發(fā)的功能,因?yàn)榭梢钥焖俣ㄎ缓筒榭吹胶瘮?shù)的說明。不應(yīng)在生產(chǎn)系統(tǒng)中使用 (例如連接到互聯(lián)網(wǎng)的系統(tǒng))。
docref_ext
string參見 docref_root。
注意:
docref_ext 的值必須以
"."
開頭。
error_prepend_string
string錯(cuò)誤信息之前輸出的字符串。僅在屏幕上顯示錯(cuò)誤消息時(shí)使用。主要是目的是能夠?yàn)殄e(cuò)誤消息添加額帶的 HTML 標(biāo)記。
error_append_string
string錯(cuò)誤信息之后輸出的字符串。僅在屏幕上顯示錯(cuò)誤消息時(shí)使用。主要是目的是能夠?yàn)殄e(cuò)誤消息添加額帶的 HTML 標(biāo)記。
error_log
string設(shè)置腳本錯(cuò)誤將被記錄到的文件名稱。該文件應(yīng)該由 Web 服務(wù)器用戶寫入。如果使用特殊值 syslog
,則將錯(cuò)誤信息發(fā)送到系統(tǒng)日志記錄器。在 Unix 系統(tǒng)上,使用的是 syslog(3),而在 Windows 上則為事件日志。參見:syslog()。如果該配置沒有設(shè)置,則錯(cuò)誤信息會被發(fā)送到 SAPI 錯(cuò)誤記錄器。例如,出現(xiàn)在 Apache
的錯(cuò)誤日志中,或者在 CLI 中的 stderr
。參閱 error_log()。
error_log_mode
intFile mode for the file described set in error_log.
syslog.facility
string指定記錄日志信息的程序類型,僅在 error_log 設(shè)置為 "syslog" 時(shí)有效。
syslog.filter
string指定過濾器類型以過濾紀(jì)錄的消息。允許不加修改的傳遞字符;all others are written in their hexadecimal representation prefixed with \x
.
all
——記錄的字符串在換行符處拆分,并且所有字符都原封不動的傳遞ascii
——紀(jì)錄的字符串在換行符處拆分,且轉(zhuǎn)義任何不可打印的 7 位 ASCII 字符no-ctrl
——紀(jì)錄的字符串在換行符處拆分,且轉(zhuǎn)義任何不可打印字符raw
——所有字符都原封不動的傳遞給系統(tǒng)記錄器,換行符處不會拆分 (identical to PHP before 7.3)Windows 上不支持該指令。注意:
raw
過濾器從 PHP 7.3.8 和 PHP 7.4.0 起可以使用。
syslog.ident
string設(shè)置每條日志消息前綴的識別字符串(ident string),僅在 error_log 為 "syslog" 時(shí)有效。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: