<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Changes to INI file handling</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="migration53.global-constants.html">New Global Constants</a></div> <div class="next" style="text-align: right; float: right;"><a href="migration53.other.html">Other changes</a></div> <div class="up"><a href="migration53.html">Migrating from PHP 5.2.x to PHP 5.3.x</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="migration53.ini" class="section"> <h2 class="title">Changes to INI file handling</h2> <p class="simpara"> PHP 5.3.0 has significantly improved performance and parsing of INI files, and adds several new syntax features. </p> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> The standard <var class="filename">php.ini</var> files have been re-organized and renamed. <em>php.ini-development</em> contains settings recommded for use in development environments. <em>php.ini-production</em> contains settings recommended for use in production environments. </span> </li> <li class="listitem"> <span class="simpara"> There is now support for two special sections: <em>[PATH=/opt/httpd/www.example.com/]</em> and <em>[HOST=www.example.com]</em>. Directives set in these sections cannot be overridden by user-defined INI files or at runtime. More information about these sections can be found <a href="ini.sections.html" class="link">here</a>. </span> </li> <li class="listitem"> <span class="simpara"> <a href="ini.core.html#ini.zend-extension-debug" class="link">zend_extension_debug</a>, <a href="ini.core.html#ini.zend-extension-debug-ts" class="link">zend_extension_debug_ts</a> and <a href="ini.core.html#ini.zend-extension-ts" class="link">zend_extension_ts</a> have been removed. Use the <a href="ini.core.html#ini.zend-extension" class="link">zend_extension</a> directive to load all Zend Extensions. </span> </li> <li class="listitem"> <span class="simpara"> <a href="ini.core.html#ini.zend.ze1-compatibility-mode" class="link">zend.ze1_compatibility_mode</a> has been removed. If this INI directive is set to On, an <strong><code>E_ERROR</code></strong> error is emitted at startup. </span> </li> <li class="listitem"> <span class="simpara"> It is now possible to use the full path to load modules using the <a href="ini.core.html#ini.extension" class="link">extension</a> directive. </span> </li> <li class="listitem"> <span class="simpara"> <em>"ini-variables"</em> can now be used almost anywhere in a <var class="filename">php.ini</var> file. </span> </li> <li class="listitem"> <span class="simpara"> <a href="ini.core.html#ini.open-basedir" class="link">open_basedir</a> restrictions may now be tighted at runtime, and the directive is now PHP_INI_ALL. </span> </li> <li class="listitem"> <span class="simpara"> It is now possible to use alphanumeric or variable indices in INI option arrays. </span> </li> <li class="listitem"> <span class="simpara"> <span class="function"><a href="function.get-cfg-var.html" class="function">get_cfg_var()</a></span> is now able to return "array" INI options. </span> </li> <li class="listitem"> <span class="simpara"> Two new mail directives: <a href="mail.configuration.html#ini.mail.add-x-header" class="link">mail.add_x_header</a> and <a href="mail.configuration.html#ini.mail.log" class="link">mail.log</a>, have been added. </span> </li> </ul> <p class="simpara"> The following new ini directives have been added: </p> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> <em>user_ini.filename</em> and <em>user_ini.cache_ttl</em> have been added to control the use of <a href="configuration.file.per-user.html" class="link">user INI files</a>. </span> </li> <li class="listitem"> <span class="simpara"> <a href="ini.core.html#ini.exit-on-timeout" class="link">exit_on_timeout</a> has been added to force Apache 1.x children to exit if a PHP execution timeout occurs. </span> </li> <li class="listitem"> <span class="simpara"> Added <em>mbstring.http_output_conv_mimetype</em>. This directive specifies the regex pattern of content types for which <span class="function"><a href="function.mb-output-handler.html" class="function">mb_output_handler()</a></span> is activated. </span> </li> <li class="listitem"> <span class="simpara"> Added <a href="ini.core.html#ini.request-order" class="link">request_order</a>. Allows controlling which external variables will be available in <var class="varname"><var class="varname"><a href="reserved.variables.request.html" class="classname">$_REQUEST</a></var></var>. </span> </li> </ul> <p class="simpara"> The following ini directives have new default values: </p> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> <a href="session.configuration.html#ini.session.use-only-cookies" class="link">session.use_only_cookies</a> is now set to <em>"1"</em> (enabled) by default. </span> </li> <li class="listitem"> <span class="simpara"> <a href="oci8.configuration.html#ini.oci8.default-prefetch" class="link">oci8.default_prefetch</a> has changed from <em>"10"</em> to <em>"100"</em>. </span> </li> </ul> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="migration53.global-constants.html">New Global Constants</a></div> <div class="next" style="text-align: right; float: right;"><a href="migration53.other.html">Other changes</a></div> <div class="up"><a href="migration53.html">Migrating from PHP 5.2.x to PHP 5.3.x</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>