&reftitle.runtime; &extension.runtime;

# PHP Options/Inf Configuration Options

&Name; | &Default; | &Changeable; | &Changelog;
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
enable_dl | "1" | PHP_INI_SYSTEM | &removed.php.future;
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | Available since PHP 4.3.0.
max_input_nesting_level | "64" | PHP_INI_PERDIR | Available since PHP 4.4.8 and PHP 5.2.3.
max_input_vars | 1000 | PHP_INI_PERDIR | Available since PHP 5.3.9.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Removed in PHP 5.4.0.
magic_quotes_runtime | "0" | PHP_INI_ALL | Removed in PHP 5.4.0.
zend.enable_gc | "1" | PHP_INI_ALL | Available since PHP 5.3.0.

&ini.php.constants; &ini.descriptions.title;

`assert.active` `boolean`

- Enable `assert` evaluation.

`assert.bail` `boolean`

- Terminate script execution on failed assertions.

`assert.warning` `boolean`

- Issue a PHP warning for each failed assertion.

`assert.callback` `string`

- user function to call on failed assertions

`assert.quiet_eval` `boolean`

- Use the current setting of `error_reporting` 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 `error_reporting`

`enable_dl` `boolean`

- This directive is really only useful in the Apache module version of PHP. You can turn dynamic loading of PHP extensions with `dl` on and off per virtual server or per directory.

  The main reason for turning dynamic loading off is security. With dynamic loading, it's possible to ignore all open_basedir restrictions. The default is to allow dynamic loading, except when using &safemode;. In &safemode;, it's always impossible to use `dl`.

`max_execution_time` `integer`

- 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 `30`. When running PHP from the command line the default setting is `0`.

  The maximum execution time is not affected by system calls, stream operations etc. Please see the `set_time_limit` function for more details.

  You can not change this setting with `ini_set` when running in &safemode;. The only workaround is to turn off safe mode or by changing the time limit in the &php.ini;.

  Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a `Timeout` directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.

`max_input_time` `integer`

- 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.

`max_input_nesting_level` `integer`

- Sets the max nesting depth of input variables (i.e. `$_GET`, `$_POST`..)

`max_input_vars` `integer`

- How many input variables 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 `E_WARNING` is issued, and further input variables are truncated from the request.

`magic_quotes_gpc` `boolean`

- &warn.deprecated.feature-5-3-0.removed-5-4-0;

  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.

  In PHP 4, also `$_ENV` variables are escaped.

  If the magic_quotes_sybase directive is also ON it will completely override magic_quotes_gpc. Having both directives enabled means only single quotes are escaped as ''. Double quotes, backslashes and NUL's will remain untouched and unescaped.

  See also `get_magic_quotes_gpc`

`magic_quotes_runtime` `boolean`

- &warn.deprecated.feature-5-3-0.removed-5-4-0;

  If `magic_quotes_runtime` 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 magic_quotes_sybase is also on, a single-quote is escaped with a single-quote instead of a backslash.

  Functions affected by `magic_quotes_runtime` (does not include functions from PECL):

  - `get_meta_tags`
  - `file_get_contents`
  - `file`
  - `fgets`
  - `fwrite`
  - `fread`
  - `fputcsv`
  - `stream_socket_recvfrom`
  - `exec`
  - `system`
  - `passthru`
  - `stream_get_contents`
  - `bzread`
  - `gzfile`
  - `gzgets`
  - `gzwrite`
  - `gzread`
  - `exif_read_data`
  - `dba_insert`
  - `dba_replace`
  - `dba_fetch`
  - `ibase_fetch_row`
  - `ibase_fetch_assoc`
  - `ibase_fetch_object`
  - `mssql_fetch_row`
  - `mssql_fetch_object`
  - `mssql_fetch_array`
  - `mssql_fetch_assoc`
  - `mysqli_fetch_row`
  - `mysqli_fetch_array`
  - `mysqli_fetch_assoc`
  - `mysqli_fetch_object`
  - `pg_fetch_row`
  - `pg_fetch_assoc`
  - `pg_fetch_array`
  - `pg_fetch_object`
  - `pg_fetch_all`
  - `pg_select`
  - `sybase_fetch_object`
  - `sybase_fetch_array`
  - `sybase_fetch_assoc`
  - `SplFileObject::fgets`
  - `SplFileObject::fgetcsv`
  - `SplFileObject::fwrite`

`zend.enable_gc` `boolean`

- Enables or disables the circular reference collector.