这些函数的行为受 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 | "1" | INI_ALL |
以下是配置指令的简要说明。
assert.active
bool启用 assert() 评估。应使用 zend.assertions 来控制 assert() 的行为。
此功能自 PHP 8.3.0 起已弃用。强烈建议不要依赖此功能。
assert.bail
bool在断言失败时终止脚本执行。
此功能自 PHP 8.3.0 起已弃用。强烈建议不要依赖此功能。
assert.warning
bool为每个失败的断言发出 PHP 警告。
此功能自 PHP 8.3.0 起已弃用。强烈建议不要依赖此功能。
assert.callback
string在断言失败时要调用的用户函数。
此功能自 PHP 8.3.0 起已弃用。强烈建议不要依赖此功能。
assert.quiet_eval
bool此功能自 PHP 8.0.0 起已移除。
在断言表达式评估期间使用 error_reporting() 的当前设置。如果启用,则不会显示任何错误(隐式 error_reporting(0))。如果禁用,则会根据 error_reporting() 的设置显示错误。
assert.exception
bool为失败的断言发出 AssertionError 异常。
此功能自 PHP 8.3.0 起已弃用。强烈建议不要依赖此功能。
enable_dl
bool此指令允许使用 dl() 打开和关闭 PHP 扩展的动态加载。
关闭动态加载的主要原因是安全。使用动态加载,可以忽略所有 open_basedir 限制。默认情况下允许动态加载。
max_execution_time
int这将设置脚本在被解析器终止之前允许运行的最长时间(以秒为单位)。这有助于防止编写不当的脚本占用服务器。默认设置为 30
。从 命令行 运行 PHP 时,默认设置为 0
。
在非 Windows 系统上,最大执行时间不受系统调用、流操作等的影响。有关更多详细信息,请参见 set_time_limit() 函数。
您的 Web 服务器可能具有其他超时配置,这些配置也可能中断 PHP 执行。Apache 有一个 Timeout
指令,IIS 有一个 CGI 超时函数。两者默认都为 300 秒。有关具体详细信息,请参见您的 Web 服务器文档。
max_input_time
int这将设置脚本在解析输入数据(如 POST 和 GET)时允许的最长时间(以秒为单位)。计时从 PHP 在服务器上调用时开始,并在执行开始时结束。默认设置为 -1
,这意味着将使用 max_execution_time。设置为 0
以允许无限时间。
max_input_nesting_level
intmax_input_vars
int可以接受多少个 输入变量(限制分别应用于 $_GET、$_POST 和 $_COOKIE 超级全局变量)。使用此指令可以降低使用哈希冲突的拒绝服务攻击的可能性。如果输入变量数量超过此指令指定的数量,则会发出 E_WARNING
,并且请求中的其他输入变量将被截断。
zend.enable_gc
bool启用或禁用循环引用收集器。