這些函式的行為會受到 php.ini 中設定的影響。
名稱 | 預設值 | 可變更性 | 變更記錄 |
---|---|---|---|
assert.active | "1" | INI_ALL |
自 PHP 8.3.0 起棄用 |
assert.bail | "0" | INI_ALL |
自 PHP 8.3.0 起棄用 |
assert.warning | "1" | INI_ALL |
自 PHP 8.3.0 起棄用 |
assert.callback | NULL | INI_ALL |
自 PHP 8.3.0 起棄用 |
assert.quiet_eval | "0" | INI_ALL |
自 PHP 8.0.0 起移除 |
assert.exception | "1" | INI_ALL |
在 PHP 8.0.0 之前,預設為 "0" 。自 PHP 8.3.0 起棄用 |
enable_dl | "1" | INI_SYSTEM |
這個已棄用的功能將來一定會被移除。 |
max_execution_time | "30" | INI_ALL |
|
max_input_time | "-1" | INI_PERDIR (每個目錄) |
|
max_input_nesting_level (最大輸入巢狀層級) | "64" | INI_PERDIR (每個目錄) |
|
max_input_vars (最大輸入變數數量) | 1000 | INI_PERDIR (每個目錄) |
|
zend.enable_gc (啟用 Zend 垃圾回收) | "1" | INI_ALL |
以下是設定指令的簡短說明。
assert.active
布林值啟用 assert() 評估。建議使用 zend.assertions 來控制 assert() 的行為。
此功能自 PHP 8.3.0 起已被 _棄用_。強烈建議不要依賴此功能。
assert.bail
布林值在斷言失敗時終止腳本執行。
此功能自 PHP 8.3.0 起已被 _棄用_。強烈建議不要依賴此功能。
assert.warning
布林值針對每個失敗的斷言發出 PHP 警告。
此功能自 PHP 8.3.0 起已被 _棄用_。強烈建議不要依賴此功能。
assert.callback
字串斷言失敗時要呼叫的使用者函式。
此功能自 PHP 8.3.0 起已被 _棄用_。強烈建議不要依賴此功能。
assert.quiet_eval
布林值此功能已於 PHP 8.0.0 中 _移除_。
在斷言表達式評估期間使用 error_reporting() 的目前設定。如果啟用,則在評估期間不會顯示任何錯誤(隱含 error_reporting(0))。如果停用,則會根據 error_reporting() 的設定顯示錯誤。
assert.exception
布林值針對失敗的斷言發出 AssertionError 例外。
此功能自 PHP 8.3.0 起已被 _棄用_。強烈建議不要依賴此功能。
enable_dl
布林值此指令允許開啟或關閉使用 dl() 進行 PHP 擴充功能的動態載入。
關閉動態載入的主要原因是安全性。使用動態載入,可能會忽略所有 open_basedir 的限制。預設值是允許動態載入。
max_execution_time
整數設定在剖析器終止腳本之前允許腳本執行的最長時間(以秒為單位)。這有助於防止編寫不良的腳本佔用伺服器資源。預設設定為 30
。從 命令列 執行 PHP 時,預設設定為 0
。
在非 Windows 系統上,最大執行時間不受系統呼叫、串流操作等的影響。詳情請參閱 set_time_limit() 函式。
您的網頁伺服器可能還有其他逾時設定,這些設定也可能會中斷 PHP 執行。Apache 有一個 Timeout
指令,而 IIS 有一個 CGI 逾時功能。兩者預設都是 300 秒。特定詳細資訊請參閱您的網頁伺服器文件。
max_input_time
整數設定指令碼允許剖析輸入資料 (例如 POST 和 GET) 的最長時間(以秒為單位)。計時從伺服器呼叫 PHP 的那一刻開始,到執行開始時結束。預設設定為 -1
,表示改用 max_execution_time 的設定值。設定為 0
則允許無限時間。
max_input_nesting_level
整數max_input_vars
整數可接受的 輸入變數 數量(限制分別套用於 $_GET、$_POST 和 $_COOKIE 超全域變數)。使用此指令可以降低利用雜湊碰撞進行阻斷服務攻擊的可能性。如果輸入變數數量超過此指令的指定值,則會發出 E_WARNING
警告,並從請求中截斷多餘的輸入變數。
zend.enable_gc
布林值啟用或停用循環引用收集器。