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 限制条件.
  • 可以在 INI 选项数组中使用字母数字或者变量.
  • get_cfg_var() 现在可以返回 "数组(array)" INI 选项.
  • 添加了一个新指令 mail.add_x_header.
  • user_ini.filename 是新增的.
  • user_ini.cache_ttl 也是新增的.
  • exit_on_timeout 也是新增的.
  • open_basedir 现在是 PHP_INI_ALL 的.

新增以下指令:

  • 新的 .htaccess-style 用户 INI 文件机制中的 user_ini.filenameuser_ini.cache_ttl.
  • 新增 mbstring.http_output_conv_mimetype. 该指令指定了 mb_output_handler() 激活内容类型的正则表达式.
  • 新增 request_order. 允许控制哪些外部变量在 $_REQUEST 中可用.

以下 ini 指令默认值更新:

  • session.use_only_cookies 默认被设置为 "1"(打开).
  • oci8.default_prefetch 变更为从 "10""100".
关注编程学问公众号