1
0
mirror of https://github.com/php/doc-en.git synced 2026-03-23 23:32:18 +01:00
Files
archived-doc-en/reference/info/ini.xml
2025-01-27 14:18:37 +00:00

453 lines
14 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<section xml:id="info.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>PHP Options/Info Configuration Options</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.assert.active">assert.active</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Deprecated as of PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.assert.bail">assert.bail</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Deprecated as of PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.assert.warning">assert.warning</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Deprecated as of PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.assert.callback">assert.callback</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Deprecated as of PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.assert.quiet-eval">assert.quiet_eval</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Removed as of PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.assert.exception">assert.exception</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Prior to PHP 8.0.0, defaults to <literal>"0"</literal>.
Deprecated as of PHP 8.3.0
</entry>
</row>
<row>
<entry><link linkend="ini.enable-dl">enable_dl</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>&removed.php.future;</entry>
</row>
<row>
<entry><link linkend="ini.max-execution-time">max_execution_time</link></entry>
<entry>"30"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-time">max_input_time</link></entry>
<entry>"-1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-nesting-level">max_input_nesting_level</link></entry>
<entry>"64"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-vars">max_input_vars</link></entry>
<entry>1000</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.enable-gc">zend.enable_gc</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.max-allowed-stack-size">zend.max_allowed_stack_size</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Available as of PHP 8.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.zend.reserved-stack-size">zend.reserved_stack_size</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Available as of PHP 8.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.fiber.stack-size">fiber.stack_size</link></entry>
<entry></entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Available as of PHP 8.1.0.</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.assert.active">
<term>
<parameter>assert.active</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Enable <function>assert</function> evaluation.
<link linkend="ini.zend.assertions">zend.assertions</link> should be
used instead to control the behaviour of <function>assert</function>.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.bail">
<term>
<parameter>assert.bail</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Terminate script execution on failed assertions.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.warning">
<term>
<parameter>assert.warning</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Issue a PHP warning for each failed assertion.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.callback">
<term>
<parameter>assert.callback</parameter>
<type>string</type>
</term>
<listitem>
<para>
User function to call on failed assertions.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.quiet-eval">
<term>
<parameter>assert.quiet_eval</parameter>
<type>bool</type>
</term>
<listitem>
&warn.feature.removed-8-0-0;
<para>
Use the current setting of <function>error_reporting</function> 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 <function>error_reporting</function>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.assert.exception">
<term>
<parameter>assert.exception</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Issue an <classname>AssertionError</classname> exception for the failed
assertion.
</para>
&warn.deprecated.feature-8-3-0;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.enable-dl">
<term>
<parameter>enable_dl</parameter>
<type>bool</type>
</term>
<listitem>
<para>
This directive allows to turn dynamic loading of
PHP extensions with <function>dl</function> on and
off.
</para>
<para>
The main reason for turning dynamic loading off is
security. With dynamic loading, it's possible to ignore all
<link linkend="ini.open-basedir">open_basedir</link> restrictions.
The default is to allow dynamic loading.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-execution-time">
<term>
<parameter>max_execution_time</parameter>
<type>int</type>
</term>
<listitem>
<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 <literal>30</literal>. When running PHP
from the <link linkend="features.commandline">command
line</link> the default setting is <literal>0</literal>.
</para>
<para>
On non Windows systems, the maximum execution time is not affected by system calls,
stream operations etc. Please see the
<function>set_time_limit</function> function for more
details.
</para>
<para>
Your web server can have other timeout configurations that may
also interrupt PHP execution. Apache has a
<literal>Timeout</literal> directive and IIS has a CGI timeout
function. Both default to 300 seconds. See your web server
documentation for specific details.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-input-time">
<term>
<parameter>max_input_time</parameter>
<type>int</type>
</term>
<listitem>
<para>
This sets the maximum time in seconds a script is allowed to
parse input data, like POST and GET. Timing begins at the moment PHP
is invoked at the server and ends when execution begins.
The default setting is <literal>-1</literal>, which means that
<link linkend="ini.max-execution-time">max_execution_time</link>
is used instead. Set to <literal>0</literal> to allow unlimited time.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-input-nesting-level">
<term>
<parameter>max_input_nesting_level</parameter>
<type>int</type>
</term>
<listitem>
<para>
Sets the max nesting depth of
<link linkend="language.variables.external">input variables</link> (i.e.
<varname>$_GET</varname>, <varname>$_POST</varname>.)
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-input-vars">
<term>
<parameter>max_input_vars</parameter>
<type>int</type>
</term>
<listitem>
<para>
How many <link linkend="language.variables.external">input
variables</link> 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 <constant>E_WARNING</constant> is issued, and further input
variables are truncated from the request.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.enable-gc">
<term>
<parameter>zend.enable_gc</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Enables or disables the circular reference collector.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.max-allowed-stack-size">
<term>
<parameter>zend.max_allowed_stack_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
The maximum native stack space that the operating system allows the
program to consume.
Trying to consume more than the operating system allows
typically results in a hard crash with no easily available debugging
information.
To make debugging easier, the engine throws an
<classname>Error</classname>
before it happens (when the program uses more than
<link linkend="ini.zend.max-allowed-stack-size">zend.max_allowed_stack_size</link>-<link linkend="ini.zend.reserved-stack-size">zend.reserved_stack_size</link>
bytes of stack).
</para>
<para>
Recursion in user-defined code does not consume native stack space.
However, internal functions and magic methods do.
Very deep recursion involving these functions can cause the program to
exhaust all available native stack space.
</para>
<para>
Possible values for this parameter are:
<simplelist>
<member>
<literal>0</literal>:
Auto-detect the maximum native stack space that the operating system
allows the program to consume.
This is the default.
When detection is not possible, a known system default is used.
</member>
<member>
<literal>-1</literal>: Disables stack size checking in the engine.
</member>
<member>
Positive integer: A fixed size, in bytes.
Setting this value too high has the same effect as disabling stack size
checking.
</member>
</simplelist>
</para>
<para>
As the stack size of
<link linkend="language.fibers">fibers</link>
is determined by
<link linkend="ini.fiber.stack-size">fiber.stack_size</link>,
the value of this parameter is used instead of
<link linkend="ini.zend.max-allowed-stack-size">zend.max_allowed_stack_size</link>
when checking stack usage during the execution of a Fiber.
</para>
<note>
<para>
This is not related to stack <emphasis>buffer</emphasis> overflows, and is not a security
feature.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.reserved-stack-size">
<term>
<parameter>zend.reserved_stack_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
The reserved stack size, in bytes.
This is subtracted from the
<link linkend="ini.zend.max-allowed-stack-size">max allowed stack size</link>,
as a buffer, when checking the stack size.
</para>
<para>
Possible values for this parameter are:
<simplelist>
<member>
<literal>0</literal>: Auto-detect a sensible size.
</member>
<member>
Positive integer: A fixed size, in bytes.
</member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.fiber.stack-size">
<term>
<parameter>fiber.stack_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
The native stack size, in bytes, allocated for each
<link linkend="language.fibers">Fiber</link>.
</para>
<para>
The default value is 1MiB on systems with a pointer size lower than
8 bytes, or 2MiB otherwise.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->