運(yùn)行時(shí)配置

這些函數(shù)的行為受 php.ini 中的設(shè)置影響。

PHP 選項(xiàng) / Info 配置選項(xiàng)
名字 默認(rèn) 可修改范圍 更新日志
assert.active "1" PHP_INI_ALL  
assert.bail "0" PHP_INI_ALL  
assert.warning "1" PHP_INI_ALL  
assert.callback NULL PHP_INI_ALL  
assert.quiet_eval "0" PHP_INI_ALL  
assert.exception "0" PHP_INI_ALL 自 PHP 7.0.0 起有效。
enable_dl "1" PHP_INI_SYSTEM 本過(guò)時(shí)特性肯定會(huì)在未來(lái)被移除。
max_execution_time "30" PHP_INI_ALL  
max_input_time "-1" PHP_INI_PERDIR  
max_input_nesting_level "64" PHP_INI_PERDIR 自 PHP 5.2.3 起有效。
max_input_vars 1000 PHP_INI_PERDIR 自 PHP 5.3.9 起有效。
magic_quotes_gpc "1" PHP_INI_PERDIR 在 PHP 5.4.0 中被移除。
magic_quotes_runtime "0" PHP_INI_ALL 在 PHP 5.4.0 中移除
zend.enable_gc "1" PHP_INI_ALL 自 PHP 5.3.0 起有效。
有關(guān) PHP_INI_* 樣式的更多詳情與定義,見(jiàn) 配置可被設(shè)定范圍。

這是配置指令的簡(jiǎn)短說(shuō)明。

assert.active boolean

激活 assert() 斷言評(píng)測(cè)。

assert.bail boolean

失敗的斷言將中止腳本。

assert.warning boolean

為每個(gè)失敗的斷言產(chǎn)生一條 PHP 警告信息。

assert.callback string

斷言失敗后要調(diào)用的回調(diào)函數(shù)。

assert.quiet_eval boolean

在 斷言表達(dá)式執(zhí)行時(shí) error_reporting() 使用當(dāng)前的設(shè)置。 如果啟用了,在執(zhí)行時(shí)錯(cuò)誤將不會(huì)被顯示(隱式的 error_reporting(0))。 如果禁用了,錯(cuò)誤將根據(jù) error_reporting() 的設(shè)置來(lái)顯示。

assert.exception boolean

在斷言(assert)失敗時(shí)產(chǎn)生 AssertionError 異常。

enable_dl boolean

該指令僅對(duì) Apache 模塊版本的 PHP 有效。 你可以針對(duì)每個(gè)虛擬機(jī)或每個(gè)目錄開(kāi)啟或關(guān)閉 dl() 動(dòng)態(tài)加載 PHP 模塊。

關(guān)閉動(dòng)態(tài)加載的主要原因是為了安全。通過(guò)動(dòng)態(tài)加載,有可能忽略所有 open_basedir 限制。 默認(rèn)允許動(dòng)態(tài)加載。

max_execution_time integer

這設(shè)置了腳本被解析器中止之前允許的最大執(zhí)行時(shí)間,單位秒。 這有助于防止寫(xiě)得不好的腳本占盡服務(wù)器資源。 默認(rèn)設(shè)置為 30。 從 命令行 運(yùn)行 PHP 時(shí),默認(rèn)設(shè)置為 0。

最大執(zhí)行時(shí)間不會(huì)影響系統(tǒng)調(diào)用和系統(tǒng)操作等。更多細(xì)節(jié)參見(jiàn) set_time_limit()

你的 web 服務(wù)器也可以有其他超時(shí)設(shè)置,也有可能中斷 PHP 的執(zhí)行。 Apache 有一個(gè) Timeout 指令,IIS 有一個(gè) CGI 超時(shí)功能。 他們默認(rèn)都是 300 秒。更多具體信息參見(jiàn)你的 web 服務(wù)器的文檔。

max_input_time integer

腳本解析輸入數(shù)據(jù)(類(lèi)似 POST 和 GET)允許的最大時(shí)間,單位是秒。 它從接收所有數(shù)據(jù)到開(kāi)始執(zhí)行腳本進(jìn)行測(cè)量的。默認(rèn)設(shè)置為 -1,意味著使用 max_execution_time 的值做為默認(rèn)值,如果不想限制,請(qǐng)?jiān)O(shè)置為 0。

max_input_nesting_level integer

設(shè)置 輸入變量 的最大允許嵌套的深度 (例如 $_GET,$_POST)

max_input_vars integer

接受多少 輸入的變量(限制分別應(yīng)用于 $_GET、$_POST 和 $_COOKIE 超全局變量) 指令的使用減輕了以哈希碰撞來(lái)進(jìn)行拒絕服務(wù)攻擊的可能性。 如有超過(guò)指令指定數(shù)量的輸入變量,將會(huì)導(dǎo)致 E_WARNING 的產(chǎn)生, 更多的輸入變量將會(huì)從請(qǐng)求中截?cái)唷?

magic_quotes_gpc boolean
警告

本特性已自 PHP 5.3.0 起廢棄并將自 PHP 5.4.0 起移除。

為 GPC (Get/Post/Cookie) 操作設(shè)置 magic_quotes 狀態(tài)。 當(dāng) magic_quotes 為 on,所有的 ' (單引號(hào))、" (雙引號(hào))、\(反斜杠)和 NUL's 被一個(gè)反斜杠自動(dòng)轉(zhuǎn)義。

參見(jiàn) get_magic_quotes_gpc()。

magic_quotes_runtime boolean
警告

本特性已自 PHP 5.3.0 起廢棄并將自 PHP 5.4.0 起移除。

如果啟用了 magic_quotes_runtime,大多數(shù)返回任何形式外部數(shù)據(jù)的函數(shù),包括數(shù)據(jù)庫(kù)和文本段將會(huì)用反斜線(xiàn)轉(zhuǎn)義引號(hào)。

magic_quotes_runtime 影響的函數(shù)(不包括 PECL 里的函數(shù)):

zend.enable_gc boolean

啟用或禁用循環(huán)引用記數(shù)搜集器。