INI 文件处理改变

PHP 5.3.0 显著改进了 INI 文件的性能和解析,并且新增了若干语法功能.

  • 标准的 php.ini 文件被重新组织和命名。 php.ini-development 包含在开发环境中推荐使用的设置。php.ini-production 包含在生产环境中推荐使用的设置.
  • 支持两个特殊章节: [PATH=/opt/httpd/www.example.com/][HOST=www.example.com]。 这两个章节里的指令不能被用户定义的 INI 文件或者运行时覆盖。 关于这些章节的更多信息,可以这里找到.
  • 移除了 zend_extension_debug and zend_extension_ts。使用 zend_extension 指令来加载全部 Zend 扩展.
  • 移除了 zend.ze1_compatibility_mode。如果该 INI 指令被设置为 On,启动时将抛出 E_ERROR 级别错误。
  • 在 "extension" 指令中可以使用全路径来加载模块.
  • "ini变量" 现在几乎在 php.ini 文件的任何地方都可以使用。
  • 可以在运行时收紧 open_basedir 限制条件,该配置的范围现在是 PHP_INI_ALL。
  • 可以在 INI 选项数组中使用字母数字或者变量.
  • get_cfg_var() 现在可以返回 "数组(array)" INI 选项.
  • 添加了两个新指令 mail.add_x_headermail.log

添加了以下新的 PHP ini 配置项:

  • user_ini.filename 是新增的.
  • user_ini.cache_ttl 也是新增的.
  • exit_on_timeout 也是新增的.
  • open_basedir 现在是 PHP_INI_ALL 的.

新增以下指令:

  • 通过 user_ini.filenameuser_ini.cache_ttl 控制 .user.ini 文件
  • 添加 exit_on_timeout 控制 Apache 1.x 子进程当 PHP 执行超时强制退出。
  • 新增 mbstring.http_output_conv_mimetype。 该指令指定了 mb_output_handler() 激活内容类型的正则表达式。
  • 新增 request_order。 允许控制哪些外部变量在 $_REQUEST 中可用。

以下 ini 指令修改了默认值: