Изменения в работе с 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, zend_extension_debug_ts и zend_extension_ts были удалены. Используйте директиву zend_extension для загрузки всех расширений Zend.
  • Директива zend.ze1_compatibility_mode была удалена. Если эта INI-директива установлена в On, то при запуске будет сгенерирована ошибка E_ERROR.
  • Стало возможным использование полного пути для загрузки модулей, используя директиву "extension".
  • "ini-variables" могут быть использованы почти везде в php.ini файле.
  • В процессе исполнения скрипта возможно ужесточение ограничений, заданных директивой open_basedir, и область действия самой директивы теперь PHP_INI_ALL.
  • Стало возможным использовать буквенно-цифровые или переменные индексы в массивах INI-опций.
  • Функция get_cfg_var() сейчас способна возвращать массив из INI-опций.
  • Добавлены две новых почтовых директивы: mail.add_x_header и mail.log.

Были добавлены следующие INI-директивы:

  • user_ini.filename и user_ini.cache_ttl для контроля пользовательских INI-файлов.
  • Была добавлена директива exit_on_timeout. Она служит для принудительного завершения дочерних процессов Apache 1.x в случае таймаута при выполнении PHP-кода.
  • Добавлена директива mbstring.http_output_conv_mimetype. Она указывает шаблон регулярного выражения для типов контента, для которых активируется функция mb_output_handler().
  • Добавлена request_order. Позволяет контролировать, какая внешняя переменная будет доступна в массиве $_REQUEST.

Следующие INI-директивы получили новые значения по умолчанию: