<!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>Runtime Configuration</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="info.installation.html">Installation</a></div> <div class="next" style="text-align: right; float: right;"><a href="info.resources.html">Resource Types</a></div> <div class="up"><a href="info.setup.html">Installing/Configuring</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="info.configuration" class="section"> <h2 class="title">Runtime Configuration</h2> <p class="simpara"> The behaviour of these functions is affected by settings in <var class="filename">php.ini</var>. </p> <p class="para"> <table class="doctable table"> <caption><strong>PHP Options/Inf Configuration Options</strong></caption> <thead> <tr> <th>Name</th> <th>Default</th> <th>Changeable</th> <th>Changelog</th> </tr> </thead> <tbody class="tbody"> <tr> <td><a href="info.configuration.html#ini.assert.active" class="link">assert.active</a></td> <td>"1"</td> <td>PHP_INI_ALL</td> <td class="empty"> </td> </tr> <tr> <td><a href="info.configuration.html#ini.assert.bail" class="link">assert.bail</a></td> <td>"0"</td> <td>PHP_INI_ALL</td> <td class="empty"> </td> </tr> <tr> <td><a href="info.configuration.html#ini.assert.warning" class="link">assert.warning</a></td> <td>"1"</td> <td>PHP_INI_ALL</td> <td class="empty"> </td> </tr> <tr> <td><a href="info.configuration.html#ini.assert.callback" class="link">assert.callback</a></td> <td>NULL</td> <td>PHP_INI_ALL</td> <td class="empty"> </td> </tr> <tr> <td><a href="info.configuration.html#ini.assert.quiet-eval" class="link">assert.quiet_eval</a></td> <td>"0"</td> <td>PHP_INI_ALL</td> <td class="empty"> </td> </tr> <tr> <td><a href="info.configuration.html#ini.enable-dl" class="link">enable_dl</a></td> <td>"1"</td> <td>PHP_INI_SYSTEM</td> <td>This deprecated feature <em class="emphasis">will</em> certainly be <em class="emphasis">removed</em> in the future.</td> </tr> <tr> <td><a href="info.configuration.html#ini.max-execution-time" class="link">max_execution_time</a></td> <td>"30"</td> <td>PHP_INI_ALL</td> <td class="empty"> </td> </tr> <tr> <td><a href="info.configuration.html#ini.max-input-time" class="link">max_input_time</a></td> <td>"-1"</td> <td>PHP_INI_PERDIR</td> <td>Available since PHP 4.3.0.</td> </tr> <tr> <td><a href="info.configuration.html#ini.max-input-nesting-level" class="link">max_input_nesting_level</a></td> <td>"64"</td> <td>PHP_INI_PERDIR</td> <td>Available since PHP 4.4.8 and PHP 5.2.3.</td> </tr> <tr> <td><a href="info.configuration.html#ini.max-input-vars" class="link">max_input_vars</a></td> <td>1000</td> <td>PHP_INI_PERDIR</td> <td>Available since PHP 5.3.9.</td> </tr> <tr> <td><a href="info.configuration.html#ini.magic-quotes-gpc" class="link">magic_quotes_gpc</a></td> <td>"1"</td> <td>PHP_INI_PERDIR</td> <td>PHP_INI_ALL in PHP <= 4.2.3. Removed in PHP 5.4.0.</td> </tr> <tr> <td><a href="info.configuration.html#ini.magic-quotes-runtime" class="link">magic_quotes_runtime</a></td> <td>"0"</td> <td>PHP_INI_ALL</td> <td>Removed in PHP 5.4.0.</td> </tr> <tr> <td><a href="info.configuration.html#ini.zend.enable-gc" class="link">zend.enable_gc</a></td> <td>"1"</td> <td>PHP_INI_ALL</td> <td>Available since PHP 5.3.0.</td> </tr> </tbody> </table> For further details and definitions of the PHP_INI_* modes, see the <a href="configuration.changes.modes.html" class="xref">Where a configuration setting may be set</a>. </p> <p class="para">Here's a short explanation of the configuration directives.</p> <p class="para"> <dl> <dt id="ini.assert.active"> <span class="term"> <em><code class="parameter">assert.active</code></em> <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> </span> <dd> <p class="para"> Enable <span class="function"><a href="function.assert.html" class="function">assert()</a></span> evaluation. </p> </dd> </dt> <dt id="ini.assert.bail"> <span class="term"> <em><code class="parameter">assert.bail</code></em> <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> </span> <dd> <p class="para"> Terminate script execution on failed assertions. </p> </dd> </dt> <dt id="ini.assert.warning"> <span class="term"> <em><code class="parameter">assert.warning</code></em> <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> </span> <dd> <p class="para"> Issue a PHP warning for each failed assertion. </p> </dd> </dt> <dt id="ini.assert.callback"> <span class="term"> <em><code class="parameter">assert.callback</code></em> <span class="type"><a href="language.types.string.html" class="type string">string</a></span> </span> <dd> <p class="para"> user function to call on failed assertions </p> </dd> </dt> <dt id="ini.assert.quiet-eval"> <span class="term"> <em><code class="parameter">assert.quiet_eval</code></em> <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> </span> <dd> <p class="para"> Use the current setting of <span class="function"><a href="function.error-reporting.html" class="function">error_reporting()</a></span> during assertion expression evaluation. If enabled, no errors are shown (implicit error_reporting(0)) while evaluation. If disabled, errors are shown according to the settings of <span class="function"><a href="function.error-reporting.html" class="function">error_reporting()</a></span> </p> </dd> </dt> <dt id="ini.enable-dl"> <span class="term"> <em><code class="parameter">enable_dl</code></em> <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> </span> <dd> <p class="para"> This directive is really only useful in the Apache module version of PHP. You can turn dynamic loading of PHP extensions with <span class="function"><a href="function.dl.html" class="function">dl()</a></span> on and off per virtual server or per directory. </p> <p class="para"> The main reason for turning dynamic loading off is security. With dynamic loading, it's possible to ignore all <a href="ini.core.html#ini.open-basedir" class="link">open_basedir</a> restrictions. The default is to allow dynamic loading, except when using <a href="ini.sect.safe-mode.html#ini.safe-mode" class="link">safe mode</a>. In <a href="ini.sect.safe-mode.html#ini.safe-mode" class="link">safe mode</a>, it's always impossible to use <span class="function"><a href="function.dl.html" class="function">dl()</a></span>. </p> </dd> </dt> <dt id="ini.max-execution-time"> <span class="term"> <em><code class="parameter">max_execution_time</code></em> <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span> </span> <dd> <p class="para"> This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is <em>30</em>. When running PHP from the <a href="features.commandline.html" class="link">command line</a> the default setting is <em>0</em>. </p> <p class="para"> The maximum execution time is not affected by system calls, stream operations etc. Please see the <span class="function"><a href="function.set-time-limit.html" class="function">set_time_limit()</a></span> function for more details. </p> <p class="para"> You can not change this setting with <span class="function"><a href="function.ini-set.html" class="function">ini_set()</a></span> when running in <a href="ini.sect.safe-mode.html#ini.safe-mode" class="link">safe mode</a>. The only workaround is to turn off safe mode or by changing the time limit in the <var class="filename">php.ini</var>. </p> <p class="para"> Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a <em>Timeout</em> directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details. </p> </dd> </dt> <dt id="ini.max-input-time"> <span class="term"> <em><code class="parameter">max_input_time</code></em> <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span> </span> <dd> <p class="para"> This sets the maximum time in seconds a script is allowed to parse input data, like POST and GET. It is measured from the moment of receiving all data on the server to the start of script execution. </p> </dd> </dt> <dt id="ini.max-input-nesting-level"> <span class="term"> <em><code class="parameter">max_input_nesting_level</code></em> <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span> </span> <dd> <p class="para"> Sets the max nesting depth of <a href="language.variables.external.html" class="link">input variables</a> (i.e. <var class="varname"><var class="varname"><a href="reserved.variables.get.html" class="classname">$_GET</a></var></var>, <var class="varname"><var class="varname"><a href="reserved.variables.post.html" class="classname">$_POST</a></var></var>..) </p> </dd> </dt> <dt id="ini.max-input-vars"> <span class="term"> <em><code class="parameter">max_input_vars</code></em> <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span> </span> <dd> <p class="para"> How many <a href="language.variables.external.html" class="link">input variables</a> may be accepted (limit is applied to $_GET, $_POST and $_COOKIE superglobal separately). Use of this directive mitigates the possibility of denial of service attacks which use hash collisions. If there are more input variables than specified by this directive, an <strong><code>E_WARNING</code></strong> is issued, and further input variables are truncated from the request. </p> </dd> </dt> <dt id="ini.magic-quotes-gpc"> <span class="term"> <em><code class="parameter">magic_quotes_gpc</code></em> <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> </span> <dd> <div class="warning"><strong class="warning">Warning</strong><p class="simpara">This feature has been <em class="emphasis">DEPRECATED</em> as of PHP 5.3.0 and <em class="emphasis">REMOVED</em> as of PHP 5.4.0.</p></div> <p class="para"> Sets the magic_quotes state for GPC (Get/Post/Cookie) operations. When magic_quotes are on, all ' (single-quote), " (double quote), \ (backslash) and NUL's are escaped with a backslash automatically. </p> <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para"> In PHP 4, also <var class="varname"><var class="varname"><a href="reserved.variables.environment.html" class="classname">$_ENV</a></var></var> variables are escaped. </p> </p></blockquote> <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para"> If the <a href="sybase.configuration.html#ini.magic-quotes-sybase" class="link"> magic_quotes_sybase</a> directive is also ON it will completely override magic_quotes_gpc. Having both directives enabled means only single quotes are escaped as <em class="emphasis">''</em>. Double quotes, backslashes and NUL's will remain untouched and unescaped. </p> </p></blockquote> <p class="para"> See also <span class="function"><a href="function.get-magic-quotes-gpc.html" class="function">get_magic_quotes_gpc()</a></span> </p> </dd> </dt> <dt id="ini.magic-quotes-runtime"> <span class="term"> <em><code class="parameter">magic_quotes_runtime</code></em> <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> </span> <dd> <div class="warning"><strong class="warning">Warning</strong><p class="simpara">This feature has been <em class="emphasis">DEPRECATED</em> as of PHP 5.3.0 and <em class="emphasis">REMOVED</em> as of PHP 5.4.0.</p></div> <p class="para"> If <em><code class="parameter">magic_quotes_runtime</code></em> is enabled, most functions that return data from any sort of external source including databases and text files will have quotes escaped with a backslash. If <a href="sybase.configuration.html#ini.magic-quotes-sybase" class="link">magic_quotes_sybase</a> is also on, a single-quote is escaped with a single-quote instead of a backslash. </p> <p class="para"> Functions affected by <em><code class="parameter">magic_quotes_runtime</code></em> (does not include functions from PECL): <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.get-meta-tags.html" class="function">get_meta_tags()</a></span></li> <li class="member"> <span class="function"><a href="function.file-get-contents.html" class="function">file_get_contents()</a></span></li> <li class="member"> <span class="function"><a href="function.file.html" class="function">file()</a></span></li> <li class="member"> <span class="function"><a href="function.fgets.html" class="function">fgets()</a></span></li> <li class="member"> <span class="function"><a href="function.fwrite.html" class="function">fwrite()</a></span></li> <li class="member"> <span class="function"><a href="function.fread.html" class="function">fread()</a></span></li> <li class="member"> <span class="function"><a href="function.fputcsv.html" class="function">fputcsv()</a></span></li> <li class="member"> <span class="function"><a href="function.stream-socket-recvfrom.html" class="function">stream_socket_recvfrom()</a></span></li> <li class="member"> <span class="function"><a href="function.exec.html" class="function">exec()</a></span></li> <li class="member"> <span class="function"><a href="function.system.html" class="function">system()</a></span></li> <li class="member"> <span class="function"><a href="function.passthru.html" class="function">passthru()</a></span></li> <li class="member"> <span class="function"><a href="function.stream-get-contents.html" class="function">stream_get_contents()</a></span></li> <li class="member"> <span class="function"><a href="function.bzread.html" class="function">bzread()</a></span></li> <li class="member"> <span class="function"><a href="function.gzfile.html" class="function">gzfile()</a></span></li> <li class="member"> <span class="function"><a href="function.gzgets.html" class="function">gzgets()</a></span></li> <li class="member"> <span class="function"><a href="function.gzwrite.html" class="function">gzwrite()</a></span></li> <li class="member"> <span class="function"><a href="function.gzread.html" class="function">gzread()</a></span></li> <li class="member"> <span class="function"><a href="function.exif-read-data.html" class="function">exif_read_data()</a></span></li> <li class="member"> <span class="function"><a href="function.dba-insert.html" class="function">dba_insert()</a></span></li> <li class="member"> <span class="function"><a href="function.dba-replace.html" class="function">dba_replace()</a></span></li> <li class="member"> <span class="function"><a href="function.dba-fetch.html" class="function">dba_fetch()</a></span></li> <li class="member"> <span class="function"><a href="function.ibase-fetch-row.html" class="function">ibase_fetch_row()</a></span></li> <li class="member"> <span class="function"><a href="function.ibase-fetch-assoc.html" class="function">ibase_fetch_assoc()</a></span></li> <li class="member"> <span class="function"><a href="function.ibase-fetch-object.html" class="function">ibase_fetch_object()</a></span></li> <li class="member"> <span class="function"><a href="function.mssql-fetch-row.html" class="function">mssql_fetch_row()</a></span></li> <li class="member"> <span class="function"><a href="function.mssql-fetch-object.html" class="function">mssql_fetch_object()</a></span></li> <li class="member"> <span class="function"><a href="function.mssql-fetch-array.html" class="function">mssql_fetch_array()</a></span></li> <li class="member"> <span class="function"><a href="function.mssql-fetch-assoc.html" class="function">mssql_fetch_assoc()</a></span></li> <li class="member"> <span class="function"><a href="mysqli-result.fetch-row.html" class="function">mysqli_fetch_row()</a></span></li> <li class="member"> <span class="function"><a href="mysqli-result.fetch-array.html" class="function">mysqli_fetch_array()</a></span></li> <li class="member"> <span class="function"><a href="mysqli-result.fetch-assoc.html" class="function">mysqli_fetch_assoc()</a></span></li> <li class="member"> <span class="function"><a href="mysqli-result.fetch-object.html" class="function">mysqli_fetch_object()</a></span></li> <li class="member"> <span class="function"><a href="function.pg-fetch-row.html" class="function">pg_fetch_row()</a></span></li> <li class="member"> <span class="function"><a href="function.pg-fetch-assoc.html" class="function">pg_fetch_assoc()</a></span></li> <li class="member"> <span class="function"><a href="function.pg-fetch-array.html" class="function">pg_fetch_array()</a></span></li> <li class="member"> <span class="function"><a href="function.pg-fetch-object.html" class="function">pg_fetch_object()</a></span></li> <li class="member"> <span class="function"><a href="function.pg-fetch-all.html" class="function">pg_fetch_all()</a></span></li> <li class="member"> <span class="function"><a href="function.pg-select.html" class="function">pg_select()</a></span></li> <li class="member"> <span class="function"><a href="function.sybase-fetch-object.html" class="function">sybase_fetch_object()</a></span></li> <li class="member"> <span class="function"><a href="function.sybase-fetch-array.html" class="function">sybase_fetch_array()</a></span></li> <li class="member"> <span class="function"><a href="function.sybase-fetch-assoc.html" class="function">sybase_fetch_assoc()</a></span></li> <li class="member"> <span class="function"><a href="splfileobject.fgets.html" class="function">SplFileObject::fgets()</a></span></li> <li class="member"> <span class="function"><a href="splfileobject.fgetcsv.html" class="function">SplFileObject::fgetcsv()</a></span></li> <li class="member"> <span class="function"><a href="splfileobject.fwrite.html" class="function">SplFileObject::fwrite()</a></span></li> </ul> </p> </dd> </dt> <dt id="ini.zend.enable-gc"> <span class="term"> <em><code class="parameter">zend.enable_gc</code></em> <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> </span> <dd> <p class="para"> Enables or disables the circular reference collector. </p> </dd> </dt> </dl> </p> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="info.installation.html">Installation</a></div> <div class="next" style="text-align: right; float: right;"><a href="info.resources.html">Resource Types</a></div> <div class="up"><a href="info.setup.html">Installing/Configuring</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>