cvs: phpdoc /en/chapters config.xml /en/features safe-mode.xml /en/reference rsusi.txt /en/reference/errorfunc ini.xml reference.xml
/en/reference/filesystem ini.xml reference.xml /en/reference/info ini.xml reference.xml /en/reference/misc ini.xml reference.xml
/en/reference/outcontrol ini.xml /en/reference/sesam ini.xml reference.xml /en/reference/sybase ini.xml /en/reference/var ini.xml reference.xml
| From: | Friedhelm Betz | Date: | Mon, 30 Sep 2002 00:09:48 +0000 |
| Subject: | cvs: phpdoc /en/chapters config.xml /en/features safe-mode.xml /en/reference rsusi.txt /en/reference/errorfunc ini.xml reference.xml /en/reference/filesystem ini.xml reference.xml /en/reference/info ini.xml reference.xml /en/reference/misc ini.xml reference.xml /en/reference/outcontrol ini.xml /en/reference/sesam ini.xml reference.xml /en/reference/sybase ini.xml /en/reference/var ini.xml reference.xml |
||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969348903@lists.php.net to get a copy of this message | ||
betz Sun Sep 29 20:09:48 2002 EDT
Added files:
/phpdoc/en/reference/errorfunc ini.xml
/phpdoc/en/reference/filesystem ini.xml
/phpdoc/en/reference/info ini.xml
/phpdoc/en/reference/misc ini.xml
/phpdoc/en/reference/sesam ini.xml
/phpdoc/en/reference/var ini.xml
Modified files:
/phpdoc/en/chapters config.xml
/phpdoc/en/features safe-mode.xml
/phpdoc/en/reference rsusi.txt
/phpdoc/en/reference/errorfunc reference.xml
/phpdoc/en/reference/filesystem reference.xml
/phpdoc/en/reference/info reference.xml
/phpdoc/en/reference/misc reference.xml
/phpdoc/en/reference/outcontrol ini.xml
/phpdoc/en/reference/sesam reference.xml
/phpdoc/en/reference/sybase ini.xml
/phpdoc/en/reference/var reference.xml
Log:
finished the ini-settings integration, maybe
config.xml: integrated parts removed. restructering, documentation of ini-settings fitting not
into an extension
safe-mode
errorfunc
filesystem
info
misc
outcontrol added implicit_flush to ini-settings
sesam new structure, ini-settings
sybase added magic_quotes_sybase to ini-settings
var
rsusi: reflect changes
Index: phpdoc/en/chapters/config.xml diff -u phpdoc/en/chapters/config.xml:1.78 phpdoc/en/chapters/config.xml:1.79 --- phpdoc/en/chapters/config.xml:1.78 Thu Sep 26 17:59:41 2002 +++ phpdoc/en/chapters/config.xml Sun Sep 29 20:09:42 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.78 $ --> +<!-- $Revision: 1.79 $ --> <chapter id="configuration"> <title>Configuration</title> @@ -10,7 +10,7 @@ The configuration file (called <filename>php3.ini</filename> in PHP 3.0, and simply &php.ini; as of PHP 4.0) is read when PHP starts up. For the server module versions of PHP, - this happens only once when the web server is started. For the + this happens only once when the web server is started. For the <acronym>CGI</acronym> and <acronym>CLI</acronym> version, it happens on every invocation. </simpara> @@ -60,78 +60,87 @@ <!-- TODO: add more details about values and expressions --> </example> </para> + </sect1> - <simpara> - When using PHP as an Apache module, you can also change the - configuration settings using directives in Apache configuration - files and .htaccess files (You will need "AllowOverride - Options" or "AllowOverride All" privileges) - </simpara> + <sect1 id="configuration.changes"> + <title>How to change configuration settings</title> - <simpara> - With PHP 3.0, there are Apache directives that correspond to each - configuration setting in the <filename>php3.ini</filename> name, - except the name is prefixed by "php3_". - </simpara> + <sect2 id="configuration.changes.apache"> + <title>Running <literal>PHP</literal> as Apache module</title> + <simpara> + When using PHP as an Apache module, you can also change the + configuration settings using directives in Apache configuration + files (e.g. <filename>httpd.conf</filename>) and + <filename>.htaccess</filename> files (You will need + "AllowOverride Options" or "AllowOverride All" privileges) + </simpara> - <para> - With PHP 4.0, there are several Apache directives that allow you - to change the PHP configuration from within the Apache - configuration file itself. - <variablelist> - <varlistentry> - <term> - <systemitem role="directive">php_value</systemitem> - <parameter>name</parameter> - <parameter>value</parameter> - </term> - <listitem> - <para> - This sets the value of the specified variable.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <systemitem role="directive">php_flag</systemitem> - <parameter>name</parameter> - <parameter>on|off</parameter> - </term> - <listitem> - <para> - This is used to set a Boolean configuration option.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <systemitem role="directive">php_admin_value</systemitem> - <parameter>name</parameter> - <parameter>value</parameter> - </term> - <listitem> - <para> - This sets the value of the specified variable. "Admin" - configuration settings can only be set from within the - main Apache configuration files, and not from .htaccess - files.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <systemitem role="directive">php_admin_flag</systemitem> - <parameter>name</parameter> - <parameter>on|off</parameter> - </term> - <listitem> - <para> - This is used to set a Boolean configuration option.</para> - </listitem> - </varlistentry> - </variablelist> - </para> - <para> - <example> - <title>Apache configuration example</title> - <programlisting role="ini"> + <simpara> + With PHP 3.0, there are Apache directives that correspond to each + configuration setting in the <filename>php3.ini</filename> name, + except the name is prefixed by "php3_". + </simpara> + + <para> + With PHP 4.0, there are several Apache directives that allow you + to change the PHP configuration from within the Apache + configuration file itself. + <variablelist> + <varlistentry> + <term> + <systemitem role="directive">php_value</systemitem> + <parameter>name</parameter> + <parameter>value</parameter> + </term> + <listitem> + <para> + This sets the value of the specified variable.</para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <systemitem role="directive">php_flag</systemitem> + <parameter>name</parameter> + <parameter>on|off</parameter> + </term> + <listitem> + <para> + This is used to set a Boolean configuration option.</para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <systemitem role="directive">php_admin_value</systemitem> + <parameter>name</parameter> + <parameter>value</parameter> + </term> + <listitem> + <para> + This sets the value of the specified variable. "Admin" + configuration settings can only be set from within the + main Apache configuration files, and not from + <filename>.htaccess</filename> files. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <systemitem role="directive">php_admin_flag</systemitem> + <parameter>name</parameter> + <parameter>on|off</parameter> + </term> + <listitem> + <para> + This is used to set a Boolean configuration option. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + <example> + <title>Apache configuration example</title> + <programlisting role="ini"> <![CDATA[ <IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" @@ -142,67 +151,187 @@ php3_safe_mode on </IfModule> ]]> -</programlisting> - </example> + </programlisting> + </example> - <note> - <para> - PHP constants do not exist outside of PHP. For example, in - <filename>httpd.conf</filename> do not use PHP constants - such as <constant>E_ALL</constant> or <constant>E_NOTICE</constant> - to set the <link linkend="ini.error-reporting">error_reporting</link> - directive as they will have no meaning and will evaluate to - <emphasis>0</emphasis>. Use the associated bitmask values instead. - These constants can be used in &php.ini; - </para> - </note> - </para> + <note> + <para> + PHP constants do not exist outside of PHP. For example, in + <filename>httpd.conf</filename> do not use PHP constants + such as <constant>E_ALL</constant> or <constant>E_NOTICE</constant> + to set the <link linkend="ini.error-reporting">error_reporting</link> + directive as they will have no meaning and will evaluate to + <emphasis>0</emphasis>. Use the associated bitmask values instead. + These constants can be used in &php.ini; + </para> + </note> + </para> + </sect2> - <simpara> - You can view the settings of the configuration values in - the output of <function>phpinfo</function>. You can also - access the values of individual configuration settings using - <function>ini_get</function> or <function>get_cfg_var</function>. - </simpara> - - <sect2 id="ini.sect.general"> - <title>General Configuration Directives</title> + <sect2 id="configuration.changes.other"> + <title>Other interfaces to <literal>PHP</literal></title> <para> + Regardless of the interface to <literal>PHP</literal> you can change + certain values at runtime of your scripts through + <function>ini_set</function>. The following table provides an overview + at which level a directive can be set/changed. + </para> + <para> + <table> + <title>Definition of PHP_INI_* constants</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Constant</entry> + <entry>Value</entry> + <entry>Meaning</entry> + </row> + </thead> + <tbody> + <row> + <entry>PHP_INI_USER</entry> + <entry>1</entry> + <entry>Entry can be set in user scripts</entry> + </row> + <row> + <entry>PHP_INI_PERDIR</entry> + <entry>2</entry> + <entry> + Entry can be set in <filename>.htaccess</filename> and VHost + directives in httpd.conf. + </entry> + </row> + <row> + <entry>PHP_INI_SYSTEM</entry> + <entry>4</entry> + <entry> + Entry can be set in &php.ini; or + <filename>httpd.conf</filename> (but not in VHost blocks in + httpd.conf). + </entry> + </row> + <row> + <entry>PHP_INI_ALL</entry> + <entry>7</entry> + <entry>Entry can be set anywhere</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + You can view the settings of the configuration values in + the output of <function>phpinfo</function>. You can also + access the values of individual configuration settings using + <function>ini_get</function> or <function>get_cfg_var</function>. + </para> + </sect2> + </sect1> + + <sect1 id="configuration.directives"> + <title>Configuration directives</title> + + <sect2 id="ini.sect.httpd-options"> + <title>Httpd Options</title> + <para> + <table> + <title>Httpd Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>async_send</entry> + <entry>"0"</entry> + <entry>PHP_INI_ALL</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + </para> + </sect2> + + <sect2 id="ini.sect.language-options"> + <title>Language Options</title> + <para> + <table> + <title>Language and Misc Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>short_open_tag</entry> + <entry>On</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>asp_tags</entry> + <entry>Off</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>precision</entry> + <entry>"14"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>y2k_compliance</entry> + <entry>Off</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>allow_call_time_pass_reference</entry> + <entry>On</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>expose_php</entry> + <entry>On</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. <variablelist> - <varlistentry id="ini.allow-url-fopen"> + <varlistentry id="ini.short-open-tag"> <term> - <parameter>allow_url_fopen</parameter> + <parameter>short_open_tag</parameter> <type>boolean</type> </term> <listitem> <para> - This option enables the URL-aware fopen wrappers that enable - accessing URL object like files. Default wrappers are provided for - the access of <link linkend="features.remote-files">remote files</link> - using the ftp or http protocol, some extensions like - <link linkend="ref.zlib">zlib</link> may register additional - wrappers. + Tells whether the short form (<userinput><? ?></userinput>) + of PHP's open tag should be allowed. If you want to use PHP in + combination with XML, you can disable this option in order to + use <userinput><?xml ?></userinput> inline. Otherwise, you + can print it with PHP, for example: <userinput><?php echo '<?xml + version="1.0"'; ?></userinput>. Also if disabled, you must use the + long form of the PHP open tag (<userinput><?php ?></userinput>). </para> - <note> <para> - This option was introduced immediately after the release of version - 4.0.3. For versions up to and including 4.0.3 you can only disable this - feature at compile time by using the configuration switch - <link linkend="install.configure.disable-url-fopen-wrapper"><parameter> - --disable-url-fopen-wrapper</parameter></link>. + This directive also affects the shorthand <userinput><?=</userinput>, + which is identical to <userinput><? echo</userinput>. Use of this + shortcut requires <systemitem role="directive">short_open_tag</systemitem> + to be on. </para> </note> - <warning> - <para> - On Windows versions prior to PHP 4.3, the following functions do not - support remote file accesing: <function>include</function>, - <function>include_once</function>, <function>require</function>, - <function>require_once</function> and the imagecreatefromXXX - functions in the <xref linkend="ref.image"/> extension. - </para> - </warning> - </listitem> </varlistentry> @@ -217,351 +346,555 @@ the usual <?php ?> tags. This includes the variable-value printing shorthand of <%= $value %>. For more information, see <link - linkend="language.basic-syntax.phpmode">Escaping from HTML</link>. + linkend="language.basic-syntax.phpmode">Escaping from HTML</link>. </simpara> - <note> <para> - Support for ASP-style tags was added in 3.0.4. - </para> + Support for ASP-style tags was added in 3.0.4. + </para> </note> + </listitem> + </varlistentry> + <varlistentry id="ini.precision"> + <term> + <parameter>precision</parameter> + <type>integer</type> + </term> + <listitem> + <simpara> + The number of significant digits displayed in floating point numbers. + </simpara> </listitem> </varlistentry> - - <varlistentry id="ini.auto-append-file"> + + <varlistentry id="ini.y2k-compliance"> <term> - <parameter>auto_append_file</parameter> - <type>string</type> + <parameter>y2k_compliance</parameter> + <type>boolean</type> </term> <listitem> - <para> - Specifies the name of a file that is automatically parsed - after the main file. The file is included as if it was - called with the <function>include</function> function, so - <link linkend="ini.include-path">include_path</link> is used.</para> - <para> - The special value <systemitem class="constant">none</systemitem> - disables auto-appending. - <note> - <simpara> - If the script is terminated with <function>exit</function>, - auto-append will <emphasis>not</emphasis> occur.</simpara> - </note> - </para> + <simpara> + Enforce year 2000 compliance (will cause problems with non-compliant browsers) + </simpara> </listitem> </varlistentry> - <varlistentry id="ini.auto-prepend-file"> + + <varlistentry id="allow-call-time-pass-reference"> <term> - <parameter>auto_prepend_file</parameter> - <type>string</type> + <parameter>allow_call_time_pass_reference</parameter> + <type>boolean</type> </term> <listitem> <para> - Specifies the name of a file that is automatically parsed - before the main file. The file is included as if it was - called with the <function>include</function> function, so - <link linkend="ini.include-path">include_path</link> is used.</para> + Whether to enable the ability to force arguments to be passed by reference + at function call time. This method is deprecated and is likely to be + unsupported in future versions of PHP/Zend. The encouraged method of + specifying which arguments should be passed by reference is in the function + declaration. You're encouraged to try and turn this option Off and make + sure your scripts work properly with it in order to ensure they will work + with future versions of the language (you will receive a warning each time + you use this feature, and the argument will be passed by value instead of by + reference). + </para> <para> - The special value <systemitem class="constant">none</systemitem> - disables auto-prepending. + See also <link linkend="language.references">References Explained</link>. </para> </listitem> </varlistentry> - <varlistentry id="ini.disable-functions"> + <varlistentry id="expose-php"> <term> - <parameter>disable_functions</parameter> - <type>string</type> + <parameter>expose_php</parameter> + <type>boolean</type> </term> <listitem> - <simpara> - This directive allows you to disable certain functions for - <link linkend="security">security</link> reasons. It takes - on a comma-dilimited list of function names. disable_functions - is not affected by <link linkend="ini.safe-mode">Safe Mode</link>. - </simpara> - <simpara> - This directive must be set in &php.ini; For example, you - cannot set this in <filename>httpd.conf</filename>. - </simpara> + <para> + Decides whether PHP may expose the fact that it is installed on the server + (e.g. by adding its signature to the Web server header). It is no security + threat in any way, but it makes it possible to determine whether you use PHP + on your server or not. + </para> </listitem> </varlistentry> - - <varlistentry id="ini.display-errors"> + </variablelist> + </para> + </sect2> + + <sect2 id="ini.sect.resource-limits"> + <title>Resource Limits</title> + <para> + <table> + <title>Resource Limits</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>memory_limit</entry> + <entry>"8M"</entry> + <entry>PHP_INI_ALL</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + + <varlistentry id="ini.memory-limit"> + <term> + <parameter>memory_limit</parameter> + <type>integer</type> + </term> + <listitem> + <para> + This sets the maximum amount of memory in bytes that a script + is allowed to allocate. This helps prevent poorly written + scripts for eating up all available memory on a server. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + See also: <link linkend="ini.max-execution-time">max_execution_time</link>. + </para> + </sect2> + + <sect2 id="ini.sect.data-handling"> + <title>Data Handling</title> + <para> + <table> + <title>Data Handling Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>track-vars</entry> + <entry>"On"</entry> + <entry>PHP_INI_??</entry> + </row> + <row> + <entry>arg_separator.output</entry> + <entry>"&"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>arg_separator.input</entry> + <entry>"&"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>variables_order</entry> + <entry>"EGPCS"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>register_globals</entry> + <entry>"Off"</entry> + <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>register_argc_argv</entry> + <entry>"On"</entry> + <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>post_max_size</entry> + <entry>"8M"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>gpc_order</entry> + <entry>"GPC"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>auto_prepend_file</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>auto_append_file</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>default_mimetype</entry> + <entry>"text/html"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>default_charset</entry> + <entry>"iso-8859-1"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>always_populate_raw_post_data</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>allow_webdav_methods</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.track-vars"> <term> - <parameter>display_errors</parameter> + <parameter>track_vars</parameter> <type>boolean</type> </term> <listitem> <para> - This determines whether errors should be printed to the screen - as part of the HTML output or not. + If enabled, then Environment, GET, POST, Cookie, and Server + variables can be found in the global associative arrays + <varname>$_ENV</varname>, + <varname>$_GET</varname>, + <varname>$_POST</varname>, + <varname>$_COOKIE</varname>, and + <varname>$_SERVER</varname>. + </para> + <para> + Note that as of PHP 4.0.3, <systemitem + role="directive">track_vars</systemitem> is always turned on. </para> </listitem> </varlistentry> - - <varlistentry id="ini.doc-root"> + + <varlistentry id="ini.arg-separator.output"> <term> - <parameter>doc_root</parameter> + <parameter>arg_separator.output</parameter> <type>string</type> </term> <listitem> <para> - PHP's "root directory" on the server. Only used if - non-empty. If PHP is configured with <link - linkend="ini.safe-mode">safe mode</link>, no files outside - this directory are served. + The separator used in PHP generated URLs to separate arguments. </para> </listitem> </varlistentry> - - <varlistentry id="ini.error-log"> + <varlistentry id="arg-separator.input"> <term> - <parameter>error_log</parameter> + <parameter>arg_separator.input</parameter> <type>string</type> </term> <listitem> <para> - Name of file where script errors should be logged. If the - special value <literal>syslog</literal> is used, the errors - are sent to the system logger instead. On UNIX, this means - syslog(3) and on Windows NT it means the event log. The - system logger is not supported on Windows 95. + List of separator(s) used by PHP to parse input URLs into variables. </para> + <note> + <para> + Every character in this directive is considered as separator! + </para> + </note> </listitem> </varlistentry> - <varlistentry id="ini.error-reporting"> + <varlistentry id="ini.variables-order"> <term> - <parameter>error_reporting</parameter> - <type>integer</type> + <parameter>variables_order</parameter> + <type>string</type> </term> <listitem> <para> - Set the error reporting level. The parameter is either an integer - representing a bit field, or named constants. The error_reporting - levels and constants are described in the - <link linkend="features.error-handling">Error Handling</link> section - of the manual, and in &php.ini;. To set at runtime, use the - <function>error_reporting</function> function. See also the - <link linkend="ini.display-errors">display_errors</link> directive. + Set the order of the EGPCS (Environment, GET, POST, Cookie, + Server) variable parsing. The default setting of this + directive is "EGPCS". Setting this to "GP", for example, + will cause PHP to completely ignore environment variables, + cookies and server variables, and to overwrite any GET + method variables with POST-method variables of the same name. </para> <para> - The default value does not show <constant>E_NOTICE</constant> level - errors. You may want to show them during development. + See also <link linkend="ini.register-globals">register_globals</link>. </para> </listitem> </varlistentry> - <varlistentry id="ini.file-uploads"> + <varlistentry id="ini.register-globals"> <term> - <parameter>file_uploads</parameter> + <parameter>register_globals</parameter> <type>boolean</type> </term> <listitem> <para> - Whether or not to allow HTTP - <link linkend="features.file-upload">file uploads</link>. See also - the - <link linkend="ini.upload-max-filesize">upload_max_filesize</link>, - <link linkend="ini.upload-tmp-dir">upload_tmp_dir</link>, and - <link linkend="ini.post-max-size">post_max_size</link> directives. + Tells whether or not to register the EGPCS (Environment, GET, + POST, Cookie, Server) variables as global variables. For example; + if register_globals = on, the url + <literal>http://www.example.com/test.php?id=3</literal> will produce + <varname>$id</varname>. Or, <varname>$DOCUMENT_ROOT</varname> from + <varname>$_SERVER['DOCUMENT_ROOT']</varname>. You may want to turn + this off if you don't want to clutter your scripts' global scope with + user data. As of PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink>, + this directive defaults to <emphasis>off</emphasis>. It's preferred to + go through PHP <link linkend="reserved.variables">Predefined Variables + </link> instead, such as the + <link linkend="language.variables.superglobals">superglobals</link>: + <varname>$_ENV</varname>, <varname>$_GET</varname>, + <varname>$_POST</varname>, <varname>$_COOKIE</varname>, and + <varname>$_SERVER</varname>. Please read the security chapter on + <link linkend="security.registerglobals">Using register_globals</link> + for related information. + </para> + <para> + Please note that <systemitem role="directive">register_globals</systemitem> + cannot be set at runtime (<function>ini_set</function>). Although, you can + use <filename>.htaccess</filename> if your host allows it as described + above. An example <filename>.htaccess</filename> entry: + <userinput>php_flag register_globals on</userinput>. </para> + <note> + <para> + <systemitem role="directive">register_globals</systemitem> is affected + by the <link linkend="ini.variables-order">variables_order</link> + directive. + </para> + </note> </listitem> </varlistentry> - - <varlistentry id="ini.html-errors"> + + <varlistentry id="ini.register-argc-argv"> <term> - <parameter>html_errors</parameter> + <parameter>register_argc_argv</parameter> <type>boolean</type> </term> <listitem> - <para> - Turn off HTML tags in error messages. The new format for html errors produces - clickable messages that direct the user to a page describing the error or - function in causing the error. These references are affected by - <link linkend="ini.docref-root">docref_root</link> and - <link linkend="ini.docref-ext">docref_ext</link>. - </para> + <simpara> + Tells PHP whether to declare the argv & argc variables + (that would contain the GET information). + </simpara> + <simpara> + See also <link linkend="features.commandline">command line</link>. + Also, this directive became available in PHP 4.0.0 and + was always "on" before that. + </simpara> </listitem> </varlistentry> - - <varlistentry id="ini.docref-root"> + + <varlistentry id="ini.post-max-size"> <term> - <parameter>docref_root</parameter> - <type>string</type> + <parameter>post_max_size</parameter> + <type>integer</type> </term> <listitem> - <para> - The new error format contains a reference to a page describing the error or - function in causing the error. In case of manual pages you can download the - manual in your language and set this ini directive to the url of your local - copy. If your local copy of the manual can be reached by '/manual/' you can - simply use <userinput>docref_root=/manual/</userinput>. Additional you have - to set docref_ext to match the fileextensions of your copy - <userinput>docref_ext=.html</userinput>. It is possible to use external - references. For example you can use - <userinput>docref_root=http://manual/en/</userinput>. - </para> - <note> - <para> - The value of docref_root must end with a slash '/'. - </para> - </note> + <simpara> + Sets max size of post data allowed. This setting also affects + file upload. To upload large files, this value must be larger + than <link linkend="ini.upload-max-filesize">upload_max_filesize</link>. + </simpara> + <simpara> + If memory limit is enabled by your configure script, <link + linkend="ini.memory-limit">memory_limit</link> also affects + file uploading. Generally speaking, + <link linkend="ini.memory-limit">memory_limit</link> should be + larger than <parameter>post_max_size</parameter>. + </simpara> </listitem> </varlistentry> - <varlistentry id="ini.docref-ext"> + <varlistentry id="ini.gpc-order"> <term> - <parameter>docref_ext</parameter> + <parameter>gpc_order</parameter> <type>string</type> </term> <listitem> <para> - See <link linkend="ini.docref-root">docref_root</link>. + Set the order of GET/POST/COOKIE variable parsing. The + default setting of this directive is "GPC". Setting this to + "GP", for example, will cause PHP to completely ignore cookies + and to overwrite any GET method variables with POST-method + variables of the same name. </para> <note> <para> - The value of docref_ext must begin with a dot '.'. + This option is not available in PHP 4. + Use <link linkend="ini.variables-order">variables_order</link> + instead. </para> </note> </listitem> </varlistentry> - <varlistentry id="ini.open-basedir"> + <varlistentry id="ini.auto-prepend-file"> <term> - <parameter>open_basedir</parameter> + <parameter>auto_prepend_file</parameter> <type>string</type> </term> <listitem> <para> - Limit the files that can be opened by PHP to the specified - directory-tree. - </para> - <para> - When a script tries to open a file with, - for example, fopen or gzopen, the location of the file is - checked. When the file is outside the specified directory-tree, - PHP will refuse to open it. All symbolic links are resolved, - so it's not possible to avoid this restriction with a symlink. - </para> - <para> - The special value <systemitem class="constant">.</systemitem> - indicates that the directory in which the script is stored will - be used as base-directory. - </para> - <para> - Under Windows, separate the directories with a semicolon. On all - other systems, separate the directories with a colon. As an Apache - module, open_basedir paths from parent directories are now - automatically inherited. - </para> - <para> - The restriction specified with open_basedir is actually a - prefix, not a directory name. This means that "open_basedir = - /dir/incl" also allows access to "/dir/include" and - "/dir/incls" if they exist. When you want to restrict access - to only the specified directory, end with a slash. For example: - "open_basedir = /dir/incl/" - </para> - <note> - <para> - Support for multiple directories was added in 3.0.7. - </para> - </note> + Specifies the name of a file that is automatically parsed + before the main file. The file is included as if it was + called with the <function>include</function> function, so + <link linkend="ini.include-path">include_path</link> is used.</para> <para> - The default is to allow all files to be opened. + The special value <systemitem class="constant">none</systemitem> + disables auto-prepending. </para> </listitem> </varlistentry> - - <varlistentry id="ini.gpc-order"> + + <varlistentry id="ini.auto-append-file"> <term> - <parameter>gpc_order</parameter> + <parameter>auto_append_file</parameter> <type>string</type> </term> <listitem> <para> - Set the order of GET/POST/COOKIE variable parsing. The - default setting of this directive is "GPC". Setting this to - "GP", for example, will cause PHP to completely ignore cookies - and to overwrite any GET method variables with POST-method - variables of the same name. - </para> + Specifies the name of a file that is automatically parsed + after the main file. The file is included as if it was + called with the <function>include</function> function, so + <link linkend="ini.include-path">include_path</link> is used.</para> <para> - Note, that this option is not available in PHP 4. - Use <link linkend="ini.variables-order">variables_order</link> - instead. + The special value <systemitem class="constant">none</systemitem> + disables auto-appending. + <note> + <simpara> + If the script is terminated with <function>exit</function>, + auto-append will <emphasis>not</emphasis> occur.</simpara> + </note> </para> </listitem> </varlistentry> - <varlistentry id="ini.variables-order"> + <varlistentry id="ini.default-mimetype"> <term> - <parameter>variables_order</parameter> + <parameter>default_mimetype</parameter> <type>string</type> </term> <listitem> <para> - Set the order of the EGPCS (Environment, GET, POST, Cookie, - Server) variable parsing. The default setting of this - directive is "EGPCS". Setting this to "GP", for example, - will cause PHP to completely ignore environment variables, - cookies and server variables, and to overwrite any GET - method variables with POST-method variables of the same name. </para> + </listitem> + </varlistentry> + + <varlistentry id="ini.default-charset"> + <term> + <parameter>default_charset</parameter> + <type>string</type> + </term> + <listitem> <para> - See also <link linkend="ini.register-globals">register_globals</link>. + As of 4.0b4, PHP always outputs a character encoding by default in + the Content-type: header. To disable sending of the charset, simply + set it to be empty. </para> </listitem> </varlistentry> - <varlistentry id="ini.ignore-user-abort"> + <varlistentry id="ini.always-populate-raw-post-data"> <term> - <parameter>ignore_user_abort</parameter> + <parameter>always_populate_raw_post_data</parameter> <type>boolean</type> </term> <listitem> <para> - &true; by default. If changed to &false; scripts will be terminated - as soon as they try to output something after a client has aborted - their connection. - </para> - <para> - See also <function>ignore_user_abort</function>. + Always populate the $HTTP_RAW_POST_DATA variable. </para> </listitem> </varlistentry> - <varlistentry id="ini.implicit-flush"> + <varlistentry id="ini.allow-webdav-methods"> <term> - <parameter>implicit_flush</parameter> + <parameter>allow_webdav_methods</parameter> <type>boolean</type> </term> <listitem> <para> - &false; by default. Changing this to &true; tells PHP to tell the - output layer to flush itself automatically after every output block. - This is equivalent to calling the <literal>PHP</literal> function - <function>flush</function> after each and every call to - <function>print</function> or <function>echo</function> and each and - every <literal>HTML</literal> block. - </para> - <para> - When using <literal>PHP</literal> within an web environment, turning - this option on has serious performance implications and is generally - recommended for debugging purposes only. This value defaults to - &true; when operating under the <literal>CLI SAPI</literal>. - </para> - <para> - See also <function>ob_implicit_flush</function>. + Allow handling of WebDAV http requests within PHP scripts (eg. + PROPFIND, PROPPATCH, MOVE, COPY, etc..) + If you want to get the post data of those requests, you have to + set <link linkend="ini.always-populate-raw-post-data"> + always_populate_raw_post_data</link> as well. </para> </listitem> </varlistentry> - + </variablelist> + </para> + <para> + See also: <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>, + <link linkend="ini.magic-quotes-runtime">magic-quotes-runtime</link>, + and + <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>. + </para> + </sect2> + + <sect2 id="ini.sect.path-directory"> + <title>Paths and Directories</title> + <para> + <table> + <title>Paths and Directories Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>include_path</entry> + <entry>PHP_INCLUDE_PATH</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>doc_root</entry> + <entry>PHP_INCLUDE_PATH</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>user_dir</entry> + <entry>NULL</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>extension_dir</entry> + <entry>PHP_EXTENSION_DIR</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>cgi.force_redirect</entry> + <entry>"1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>cgi.redirect_status_env</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>fastcgi.impersonate</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.include-path"> <term> <parameter>include_path</parameter> @@ -596,265 +929,175 @@ </listitem> </varlistentry> - <varlistentry id="ini.log-errors"> - <term> - <parameter>log_errors</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - Tells whether script error messages should be logged to the - server's error log. This option is thus server-specific.</para> - </listitem> - </varlistentry> - - <varlistentry id="ini.magic-quotes-gpc"> - <term> - <parameter>magic_quotes_gpc</parameter> - <type>boolean</type> - </term> - <listitem> - <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. If magic_quotes_sybase is - also on, a single-quote is escaped with a single-quote - instead of a backslash. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.magic-quotes-runtime"> - <term> - <parameter>magic_quotes_runtime</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - If <parameter>magic_quotes_runtime</parameter> 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 - <parameter>magic_quotes_sybase</parameter> is also on, a - single-quote is escaped with a single-quote instead of a - backslash. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.magic-quotes-sybase"> - <term> - <parameter>magic_quotes_sybase</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - If <parameter>magic_quotes_sybase</parameter> is also on, a - single-quote is escaped with a single-quote instead of a - backslash if <parameter>magic_quotes_gpc</parameter> or - <parameter>magic_quotes_runtime</parameter> is enabled. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.max-execution-time"> - <term> - <parameter>max_execution_time</parameter> - <type>integer</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>. - </para> - <para> - The maximum execution time is not affected by system calls, - the <function>sleep</function> function, etc. Please see the - <function>set_time_limit</function> function for more - details. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.memory-limit"> - <term> - <parameter>memory_limit</parameter> - <type>integer</type> - </term> - <listitem> - <para> - This sets the maximum amount of memory in bytes that a script - is allowed to allocate. This helps prevent poorly written - scripts for eating up all available memory on a server. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.precision"> - <term> - <parameter>precision</parameter> - <type>integer</type> - </term> - <listitem> - <simpara> - The number of significant digits displayed in floating point numbers. - </simpara> - </listitem> - </varlistentry> - - <varlistentry id="ini.register-argc-argv"> + <varlistentry id="ini.doc-root"> <term> - <parameter>register_argc_argv</parameter> - <type>boolean</type> + <parameter>doc_root</parameter> + <type>string</type> </term> <listitem> - <simpara> - Tells PHP whether to declare the argv & argc variables - (that would contain the GET information). - </simpara> - <simpara> - See also <link linkend="features.commandline">command line</link>. - Also, this directive became available in PHP 4.0.0 and - was always "on" before that. - </simpara> + <para> + PHP's "root directory" on the server. Only used if + non-empty. If PHP is configured with <link + linkend="ini.safe-mode">safe mode</link>, no files outside + this directory are served. + If PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root + if you are running php as a CGI under any web server (other than IIS) + The alternative is to use the <link linkend="ini.cgi.force-redirect"> + cgi.force_redirect</link> configuration below. + </para> </listitem> </varlistentry> - <varlistentry id="ini.post-max-size"> + <varlistentry id="ini.user-dir"> <term> - <parameter>post_max_size</parameter> - <type>integer</type> + <parameter>user_dir</parameter> + <type>string</type> </term> <listitem> - <simpara> - Sets max size of post data allowed. This setting also affects - file upload. To upload large files, this value must be larger - than <link - linkend="ini.upload-max-filesize">upload_max_filesize</link>. - </simpara> - <simpara> - If memory limit is enabled by configure script, <link - linkend="ini.memory-limit">memory_limit</link> also affects - file uploading. Generally speaking, <link - linkend="ini.memory-limit">memory_limit</link> should be - larger than <link - linkend="ini.post-max-size">post_max_size</link>. - </simpara> + <para> + The base name of the directory used on a user's home + directory for <literal>PHP</literal> files, for example + <literal>public_html</literal>. + </para> </listitem> </varlistentry> - <varlistentry id="ini.register-globals"> + <varlistentry id="ini.extension-dir"> <term> - <parameter>register_globals</parameter> - <type>boolean</type> + <parameter>extension_dir</parameter> + <type>string</type> </term> - <listitem> + <listitem> <para> - Tells whether or not to register the EGPCS (Environment, GET, - POST, Cookie, Server) variables as global variables. For example; - if register_globals = on, the url - <literal>http://www.example.com/test.php?id=3</literal> will produce - <varname>$id</varname>. Or, <varname>$DOCUMENT_ROOT</varname> from - <varname>$_SERVER['DOCUMENT_ROOT']</varname>. You may want to turn - this off if you don't want to clutter your scripts' global scope with - user data. As of PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink>, - this directive defaults to <emphasis>off</emphasis>. It's preferred to - go through PHP <link linkend="reserved.variables">Predefined Variables - </link> instead, such as the - <link linkend="language.variables.superglobals">superglobals</link>: - <varname>$_ENV</varname>, <varname>$_GET</varname>, - <varname>$_POST</varname>, <varname>$_COOKIE</varname>, and - <varname>$_SERVER</varname>. Please read the security chapter on - <link linkend="security.registerglobals">Using register_globals</link> - for related information. + In what directory PHP should look for dynamically loadable + extensions. See also: <link linkend="ini.enable-dl">enable_dl</link>, + and <function>dl</function>. </para> + </listitem> + </varlistentry> + + <varlistentry id="ini.extension"> + <term> + <parameter>extension</parameter> + <type>string</type> + </term> + <listitem> <para> - Please note that <systemitem role="directive">register_globals</systemitem> - cannot be set at runtime (<function>ini_set</function>). Although, you can - use <filename>.htaccess</filename> if your host allows it as described - above. An example <filename>.htaccess</filename> entry: - <userinput>php_flag register_globals on</userinput>. + Which dynamically loadable extensions to load when PHP starts + up. </para> - <note> - <para> - <systemitem role="directive">register_globals</systemitem> is affected - by the <link linkend="ini.variables-order">variables_order</link> - directive. - </para> - </note> </listitem> </varlistentry> - <varlistentry id="ini.short-open-tag"> + <varlistentry id="ini.cgi.force-redirect"> <term> - <parameter>short_open_tag</parameter> + <parameter>cgi.force_redirect</parameter> <type>boolean</type> </term> <listitem> <para> - Tells whether the short form (<userinput><? ?></userinput>) - of PHP's open tag should be allowed. If you want to use PHP in - combination with XML, you can disable this option in order to - use <userinput><?xml ?></userinput> inline. Otherwise, you - can print it with PHP, for example: <userinput><?php echo '<?xml - version="1.0"'; ?></userinput>. Also if disabled, you must use the - long form of the PHP open tag (<userinput><?php ?></userinput>). + cgi.force_redirect is necessary to provide security running PHP as a + CGI under most web servers. Left undefined, PHP turns this on by + default. You can turn it off <emphasis>AT YOUR OWN RISK</emphasis>. </para> <note> <para> - This directive also affects the shorthand <userinput><?=</userinput>, - which is identical to <userinput><? echo</userinput>. Use of this - shortcut requires <systemitem role="directive">short_open_tag</systemitem> - to be on. + Windows Users: You CAN safely turn this off for IIS, in fact, you MUST. + To get OmniHTTPD or Xitami to work you MUST turn it off. </para> </note> </listitem> </varlistentry> - <varlistentry id="ini.sql.safe-mode"> + <varlistentry id="ini.cgi.redirect-status-env"> <term> - <parameter>sql.safe_mode</parameter> - <type>boolean</type> + <parameter>cgi.cgi.redirect_status_env</parameter> + <type>string</type> </term> <listitem> <para> + If cgi.force_redirect is turned on, and you are not running under + Apache or Netscape (iPlanet) web servers, you MAY need to set an + environment variable name that PHP will look for to know it is OK + to continue execution. </para> + <note> + <para> + Setting this variable MAY cause security issues, + KNOW WHAT YOU ARE DOING FIRST. + </para> + </note> </listitem> </varlistentry> - <varlistentry id="ini.track-errors"> + <varlistentry id="fastcgi.impersonate"> <term> - <parameter>track_errors</parameter> - <type>boolean</type> + <parameter>fastcgi.impersonate</parameter> + <type>string</type> </term> <listitem> <para> - If enabled, the last error message will always be present in the - global variable <varname>$php_errormsg</varname>.</para> + FastCGI under IIS (on WINNT based OS) supports the ability to impersonate + security tokens of the calling client. This allows IIS to define the + security context that the request runs under. mod_fastcgi under Apache + does not currently support this feature (03/17/2002) + Set to 1 if running under IIS. Default is zero. + </para> </listitem> </varlistentry> + </variablelist> + </para> + </sect2> - <varlistentry id="ini.track-vars"> + <sect2 id="ini.sect.file_uploads"> + <title>File Uploads</title> + <para> + <table> + <title>File Uploads Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>file_uploads</entry> + <entry>"1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>upload_tmp_dir</entry> + <entry>NULL</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>upload_max_filesize</entry> + <entry>"2M"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.file-uploads"> <term> - <parameter>track_vars</parameter> + <parameter>file_uploads</parameter> <type>boolean</type> </term> <listitem> <para> - If enabled, then Environment, GET, POST, Cookie, and Server - variables can be found in the global associative arrays - <varname>$_ENV</varname>, - <varname>$_GET</varname>, - <varname>$_POST</varname>, - <varname>$_COOKIE</varname>, and - <varname>$_SERVER</varname>. - </para> - <para> - Note that as of PHP 4.0.3, <systemitem - role="directive">track_vars</systemitem> is always turned on. + Whether or not to allow HTTP + <link linkend="features.file-upload">file uploads</link>. See also + the + <link linkend="ini.upload-max-filesize">upload_max_filesize</link>, + <link linkend="ini.upload-tmp-dir">upload_tmp_dir</link>, and + <link linkend="ini.post-max-size">post_max_size</link> directives. </para> </listitem> </varlistentry> @@ -867,8 +1110,8 @@ <listitem> <para> The temporary directory used for storing files when doing - file upload. Must be writable by whatever user PHP is - running as. + file upload. Must be writable by whatever user <literal>PHP</literal> + is running as. If not specified PHP will use the system's default. </para> </listitem> </varlistentry> @@ -880,117 +1123,54 @@ </term> <listitem> <para> - The maximum size of an uploaded file. The value is - in bytes. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.user-dir"> - <term> - <parameter>user_dir</parameter> - <type>string</type> - </term> - <listitem> - <para> - The base name of the directory used on a user's home - directory for PHP files, for example - <literal>public_html</literal>. + The maximum size of an uploaded file. </para> </listitem> </varlistentry> + </variablelist> + </para> + </sect2> - <varlistentry id="ini.warn-plus-overloading"> + <sect2 id="ini.sql-general"> + <title>General SQL</title> + <para> + <table> + <title>General SQL Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>sql.safe_mode</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.sql.safe-mode"> <term> - <parameter>warn_plus_overloading</parameter> + <parameter>sql.safe_mode</parameter> <type>boolean</type> </term> <listitem> <para> - If enabled, this option makes PHP output a warning when the - plus (<literal>+</literal>) operator is used on strings. - This is to make it easier to find scripts that need to be - rewritten to using the string concatenator instead - (<literal>.</literal>). </para> </listitem> </varlistentry> - </variablelist> </para> </sect2> - <sect2 id="ini.sect.safe-mode"> - <title>Safe Mode Configuration Directives</title> - <variablelist> - - <varlistentry id="ini.safe-mode"> - <term> - <parameter>safe_mode</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - Whether to enable PHP's safe mode. Read the - <link linkend="security">Security</link> and - <link linkend="features.safe-mode">Safe Mode</link> chapters for - more information. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.safe-mode-gid"> - <term> - <parameter>safe_mode_gid</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - Whether to use <literal>UID</literal> (&false;) or - <literal>GID</literal> (&true;) checking upon file - access. See <link linkend="features.safe-mode">Safe Mode</link> for - more information. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.safe-mode-exec-dir"> - <term> - <parameter>safe_mode_exec_dir</parameter> - <type>string</type> - </term> - <listitem> - <para> - If PHP is used in safe mode, <function>system</function> and - the other functions executing system programs refuse to start - programs that are not in this directory. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.safe-mode-include-dir"> - <term> - <parameter>safe_mode_include_dir</parameter> - <type>string</type> - </term> - <listitem> - <para> - <literal>UID</literal>/<literal>GID</literal> checks are bypassed when - including files from this directory and its subdirectories (directory - must also be in <link linkend="ini.include-path">include_path</link> - or full path must including). - </para> - <simpara> - As of PHP 4.2.0, this directive can take on a semi-colon separated - path in a similar fashion to the include_path directive, rather than - just a single directory. - </simpara> - </listitem> - </varlistentry> - - </variablelist> - </sect2> - <sect2 id="ini.sect.debugger"> <title>Debugger Configuration Directives</title> <variablelist> @@ -1031,154 +1211,6 @@ </listitem> </varlistentry> - </variablelist> - </sect2> - - <sect2 id="ini.sect.extension"> - <title>Extension Loading Directives</title> - <variablelist> - - <varlistentry id="ini.enable-dl"> - <term> - <parameter>enable_dl</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - This directive is really only useful in the Apache module - version of PHP. You can turn dynamic loading of PHP - extensions with <function>dl</function> on and off per - virtual server or per directory. - </para> - <para> - The main reason for turning dynamic loading off is - security. With dynamic loading, it's possible to ignore all - the safe_mode and open_basedir restrictions. - </para> - <para> - The default is to allow dynamic loading, except when using - safe-mode. In safe-mode, it's always imposible to use - <function>dl</function>. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.extension-dir"> - <term> - <parameter>extension_dir</parameter> - <type>string</type> - </term> - <listitem> - <para> - In what directory PHP should look for dynamically loadable - extensions. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.extension"> - <term> - <parameter>extension</parameter> - <type>string</type> - </term> - <listitem> - <para> - Which dynamically loadable extensions to load when PHP starts - up. - </para> - </listitem> - </varlistentry> - - </variablelist> - </sect2> - - <sect2 id="ini.sect.sesam"> - <title>SESAM Configuration Directives</title> - <variablelist> - - <varlistentry id="ini.sesam-oml"> - <term> - <parameter>sesam_oml</parameter> - <type>string</type> - </term> - <listitem> - <para> - Name of BS2000 PLAM library containing the loadable SESAM - driver modules. Required for using SESAM functions. The - BS2000 PLAM library must be set ACCESS=READ,SHARE=YES - because it must be readable by the apache server's user id. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.sesam-configfile"> - <term> - <parameter>sesam_configfile</parameter> - <type>string</type> - </term> - <listitem> - <para> - Name of SESAM application configuration file. Required for - using SESAM functions. The BS2000 file must be readable by - the apache server's user id. - </para> - <para> - The application configuration file will usually contain a - configuration like (see SESAM - reference manual): - <informalexample> - <programlisting role="bs2000"> -<![CDATA[ -CNF=B -NAM=K -NOTYPE -]]> - </programlisting> - </informalexample> - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.sesam-messagecatalog"> - <term> - <parameter>sesam_messagecatalog</parameter> - <type>string</type> - </term> - <listitem> - <para> - Name of SESAM message catalog file. In most cases, this - directive is not neccessary. Only if the SESAM message file - is not installed in the system's BS2000 message file table, - it can be set with this directive. - </para> - <para> - The message catalog must be set ACCESS=READ,SHARE=YES because - it must be readable by the apache server's user id. - </para> - </listitem> - </varlistentry> - - </variablelist> - </sect2> - - - <sect2 id="ini.sect.browscap"> - <title>Browser Capability Configuration Directives</title> - <variablelist> - - <varlistentry id="ini.browscap"> - <term> - <parameter>browscap</parameter> - <type>string</type> - </term> - <listitem> - <para> - Name of browser capabilities file. See also - <function>get_browser</function>. - </para> - </listitem> - </varlistentry> - </variablelist> </sect2> Index: phpdoc/en/features/safe-mode.xml diff -u phpdoc/en/features/safe-mode.xml:1.25 phpdoc/en/features/safe-mode.xml:1.26 --- phpdoc/en/features/safe-mode.xml:1.25 Mon May 20 12:38:35 2002 +++ phpdoc/en/features/safe-mode.xml Sun Sep 29 20:09:43 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.25 $ --> +<!-- $Revision: 1.26 $ --> <chapter id="features.safe-mode"> <title>Safe Mode</title> @@ -10,69 +10,240 @@ server and OS levels aren't very realistic, many people, especially ISP's, use safe mode for now. </para> - <para> - <table> - <title>Configuration directives controlling safe mode are:</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Directive</entry> - <entry>Default value</entry> - </row> - </thead> - <tbody> + + <sect1 id="ini.sect.safe-mode"> + <title>Security and Safe Mode</title> + <para> + <table> + <title>Security and Safe Mode Configuration Directives</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> <row> - <entry> - <link linkend="ini.safe-mode">safe_mode</link> - </entry> - <entry><literal>Off</literal></entry> + <entry>safe_mode</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.safe-mode-gid">safe_mode_gid</link> - </entry> - <entry><literal>0</literal></entry> + <entry>safe_mode_gid</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.safe-mode-include-dir">safe_mode_include_dir</link> - </entry> - <entry><literal>""</literal></entry> + <entry>safe_mode_include_dir</entry> + <entry>NULL</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link> - </entry> - <entry><literal>1</literal></entry> + <entry>safe_mode_exec_dir</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.open-basedir">open_basedir</link> - </entry> - <entry><literal>""</literal></entry> + <entry>safe_mode_allowed_env_vars</entry> + <entry>PHP_</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <literal>safe_mode_allowed_env_vars</literal> - </entry> - <entry><literal>PHP_</literal></entry> + <entry>safe_mode_protected_env_vars</entry> + <entry>LD_LIBRARY_PATH</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <literal>safe_mode_protected_env_vars</literal> - </entry> - <entry><literal>LD_LIBRARY_PATH</literal></entry> + <entry>open_basedir</entry> + <entry>NULL</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <literal>disable_functions</literal> - </entry> - <entry><literal>""</literal></entry> + <entry>disable_functions</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM</entry> </row> - </tbody> - </tgroup> - </table> - </para> + </tbody> + </tgroup> + </table> + For further details and definition of the PHP_INI_* constants see + <function>ini_set</function>. + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.safe-mode"> + <term> + <parameter>safe_mode</parameter> + <type>boolean</type> + </term> + <listitem> + <para> + Whether to enable PHP's safe mode. Read the + <link linkend="security">Security</link> and chapter for more + information. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-gid"> + <term> + <parameter>safe_mode_gid</parameter> + <type>boolean</type> + </term> + <listitem> + <para> + By default, Safe Mode does a UID compare check when + opening files. If you want to relax this to a GID compare, + then turn on safe_mode_gid. + Whether to use <literal>UID</literal> (&false;) or + <literal>GID</literal> (&true;) checking upon file + access. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-include-dir"> + <term> + <parameter>safe_mode_include_dir</parameter> + <type>string</type> + </term> + <listitem> + <para> + <literal>UID</literal>/<literal>GID</literal> checks are bypassed when + including files from this directory and its subdirectories (directory + must also be in <link linkend="ini.include-path">include_path</link> + or full path must including). + </para> + <simpara> + As of PHP 4.2.0, this directive can take a semi-colon separated + path in a similar fashion to the + <link linkend="ini.include-path">include_path</link> directive, + rather than just a single directory. + </simpara> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-exec-dir"> + <term> + <parameter>safe_mode_exec_dir</parameter> + <type>string</type> + </term> + <listitem> + <para> + If PHP is used in safe mode, <function>system</function> and the other + <link linkend="ref.exec">functions executing system programs</link> + refuse to start programs that are not in this directory. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-allowed-env-vars"> + <term> + <parameter>safe_mode_allowed_env_vars</parameter> + <type>string</type> + </term> + <listitem> + <para> + Setting certain environment variables may be a potential security breach. + This directive contains a comma-delimited list of prefixes. In Safe Mode, + the user may only alter environment variables whose names begin with the + prefixes supplied here. By default, users will only be able to set + environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). + </para> + <note> + <para> + If this directive is empty, PHP will let the user modify ANY + environment variable! + </para> + </note> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-protected-env-vars"> + <term> + <parameter>safe_mode_protected_env_vars</parameter> + <type>string</type> + </term> + <listitem> + <para> + This directive contains a comma-delimited list of environment + variables that the end user won't be able to change using + <function>putenv</function>. These variables will be protected + even if safe_mode_allowed_env_vars is set to allow to change them. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.open-basedir"> + <term> + <parameter>open_basedir</parameter> + <type>string</type> + </term> + <listitem> + <para> + Limit the files that can be opened by PHP to the specified + directory-tree. This directive is <emphasis>NOT</emphasis> + affected by whether Safe Mode is turned On or Off. + </para> + <para> + When a script tries to open a file with, + for example, fopen or gzopen, the location of the file is + checked. When the file is outside the specified directory-tree, + PHP will refuse to open it. All symbolic links are resolved, + so it's not possible to avoid this restriction with a symlink. + </para> + <para> + The special value <systemitem class="constant">.</systemitem> + indicates that the directory in which the script is stored will + be used as base-directory. + </para> + <para> + Under Windows, separate the directories with a semicolon. On all + other systems, separate the directories with a colon. As an Apache + module, open_basedir paths from parent directories are now + automatically inherited. + </para> + <para> + The restriction specified with open_basedir is actually a + prefix, not a directory name. This means that "open_basedir = + /dir/incl" also allows access to "/dir/include" and + "/dir/incls" if they exist. When you want to restrict access + to only the specified directory, end with a slash. For example: + "open_basedir = /dir/incl/" + </para> + <note> + <para> + Support for multiple directories was added in 3.0.7. + </para> + </note> + <para> + The default is to allow all files to be opened. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.disable-functions"> + <term> + <parameter>disable_functions</parameter> + <type>string</type> + </term> + <listitem> + <simpara> + This directive allows you to disable certain functions for + <link linkend="security">security</link> reasons. It takes + on a comma-dilimited list of function names. disable_functions + is not affected by <link linkend="ini.safe-mode">Safe Mode</link>. + </simpara> + <simpara> + This directive must be set in &php.ini; For example, you + cannot set this in <filename>httpd.conf</filename>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + See also: <link linkend="ini.register-globals">register_globals</link>, + <link linkend="ini.display-errors">display_errors</link>, and + <link linkend="ini.log-errors">log_errors</link> + </para> + <para> When <link linkend="ini.safe-mode">safe_mode</link> is on, PHP checks to see if the owner of the current script matches the owner of the file to be @@ -149,6 +320,7 @@ ]]> </screen> </para> + </sect1> <sect1 id="features.safe-mode.functions"> <title>Functions restricted/disabled by safe mode</title> Index: phpdoc/en/reference/rsusi.txt diff -u phpdoc/en/reference/rsusi.txt:1.35 phpdoc/en/reference/rsusi.txt:1.36 --- phpdoc/en/reference/rsusi.txt:1.35 Thu Sep 26 17:59:42 2002 +++ phpdoc/en/reference/rsusi.txt Sun Sep 29 20:09:44 2002 @@ -43,12 +43,12 @@ dir domxml ++ dotnet ~ -errorfunc +errorfunc yes exec fbsql yes fdf filepro ~ -filesystem +filesystem yes fribidi ~ ftp funchand @@ -64,7 +64,7 @@ iisfunc image yes imap -info +info yes ingres-ii yes ircg java ++ yes @@ -79,7 +79,7 @@ mhash mime_magic yes ming ++ -misc ~ +misc ~ yes mnogosearch msession ~ msql ~ yes @@ -110,7 +110,7 @@ recode regex sem yes -sesam !no +sesam ++ yes session ++ yes shmop snmp @@ -121,7 +121,7 @@ tokenizer ~ yes uodbc yes url ~ -var ~ +var ~ yes vpopmail ~ w32api wddx Index: phpdoc/en/reference/errorfunc/reference.xml diff -u phpdoc/en/reference/errorfunc/reference.xml:1.4 phpdoc/en/reference/errorfunc/reference.xml:1.5 --- phpdoc/en/reference/errorfunc/reference.xml:1.4 Fri Aug 9 06:25:59 2002 +++ phpdoc/en/reference/errorfunc/reference.xml Sun Sep 29 20:09:44 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> +<!-- $Revision: 1.5 $ --> <reference id="ref.errorfunc"> <title>Error Handling and Logging Functions</title> <titleabbrev>Errors and Logging</titleabbrev> @@ -35,6 +35,8 @@ &reftitle.install; &no.install; </section> + + &reference.errorfunc.ini; &reference.errorfunc.constants; Index: phpdoc/en/reference/filesystem/reference.xml diff -u phpdoc/en/reference/filesystem/reference.xml:1.6 phpdoc/en/reference/filesystem/reference.xml:1.7 --- phpdoc/en/reference/filesystem/reference.xml:1.6 Thu Sep 26 10:32:51 2002 +++ phpdoc/en/reference/filesystem/reference.xml Sun Sep 29 20:09:45 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.6 $ --> +<!-- $Revision: 1.7 $ --> <reference id="ref.filesystem"> <title>Filesystem functions</title> <titleabbrev>Filesystem</titleabbrev> @@ -21,67 +21,12 @@ &no.install; </section> - <section id="filesystem.configuration"> - &reftitle.runtime; - &extension.runtime; - <para> - <table> - <title>Filesystem and Streams Configuration Options</title> - <tgroup cols="3"> - <thead> - <row> - <entry>Name</entry> - <entry>Default</entry> - <entry>Changeable</entry> - </row> - </thead> - <tbody> - <row> - <entry>auto_detect_line_endings</entry> - <entry>"Off"</entry> - <entry>PHP_INI_ALL</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <para> - Here is a short explanation of the configuration directives. - <variablelist> - <varlistentry id="ini.auto-detect-line-endings"> - <term> - <parameter>auto_detect_line_endings</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - When turned on, PHP will examine the data read by - <function>fgets</function> and <function>file</function> to see if it - is using Unix, MS-Dos or Macintosh line-ending conventions. - </para> - <para>This enables PHP to to interoperate with Macintosh systems, - but defaults to Off, as there is a very small performance penalty - when detecting the EOL conventions for the first line, and also - because people using carriage-returns as item separators under - Unix systems would experience non-backwards-compatible behaviour. - </para> - <note> - <simpara> - This configuration option was introduced in PHP 4.3. - </simpara> - </note> - </listitem> - </varlistentry> - </variablelist> - </para> - - </section> + &reference.filesystem.ini; <section id="filesystem.resources"> &reftitle.resources; <para> </para> - </section> <section id="filesystem.constants"> Index: phpdoc/en/reference/info/reference.xml diff -u phpdoc/en/reference/info/reference.xml:1.5 phpdoc/en/reference/info/reference.xml:1.6 --- phpdoc/en/reference/info/reference.xml:1.5 Fri Aug 9 06:26:04 2002 +++ phpdoc/en/reference/info/reference.xml Sun Sep 29 20:09:45 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.5 $ --> +<!-- $Revision: 1.6 $ --> <reference id="ref.info"> <title>PHP Options&Information</title> <titleabbrev>PHP Options/Info</titleabbrev> @@ -26,10 +26,7 @@ &no.install; </section> - <section id="info.configuration"> - &reftitle.runtime; - &no.config; - </section> + &reference.info.ini; <section id="info.resources"> &reftitle.resources; Index: phpdoc/en/reference/misc/reference.xml diff -u phpdoc/en/reference/misc/reference.xml:1.4 phpdoc/en/reference/misc/reference.xml:1.5 --- phpdoc/en/reference/misc/reference.xml:1.4 Fri Aug 9 06:26:06 2002 +++ phpdoc/en/reference/misc/reference.xml Sun Sep 29 20:09:46 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> +<!-- $Revision: 1.5 $ --> <reference id="ref.misc"> <title>Miscellaneous functions</title> <titleabbrev>Misc.</titleabbrev> @@ -24,10 +24,7 @@ &no.install; </section> - <section id="misc.configuration"> - &reftitle.runtime; - &no.config; - </section> + &reference.misc.ini; <section id="misc.resources"> &reftitle.resources; Index: phpdoc/en/reference/outcontrol/ini.xml diff -u phpdoc/en/reference/outcontrol/ini.xml:1.1 phpdoc/en/reference/outcontrol/ini.xml:1.2 --- phpdoc/en/reference/outcontrol/ini.xml:1.1 Mon Sep 16 16:46:37 2002 +++ phpdoc/en/reference/outcontrol/ini.xml Sun Sep 29 20:09:46 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <section id="outcontrol.configuration"> &reftitle.runtime; &extension.runtime; @@ -26,9 +26,7 @@ <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.implicit-flush">implicit_flush</link> - </entry> + <entry>implicit_flush</entry> <entry>"0"</entry> <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> </row> @@ -72,11 +70,37 @@ <note> <para> You cannot use both <function>mb_output_handler</function> with - <function>ob_inconv_handler</function> and you cannot use both + <function>ob_inconv_handler</function> and you cannot use both <function>ob_gzhandler</function> and <link linkend="ini.zlib.output-compression">zlib.output_compression</link>. </para> </note> + </listitem> + </varlistentry> + + <varlistentry id="ini.implicit-flush"> + <term> + <parameter>implicit_flush</parameter> + <type>boolean</type> + </term> + <listitem> + <para> + &false; by default. Changing this to &true; tells PHP to tell the + output layer to flush itself automatically after every output block. + This is equivalent to calling the <literal>PHP</literal> function + <function>flush</function> after each and every call to + <function>print</function> or <function>echo</function> and each and + every <literal>HTML</literal> block. + </para> + <para> + When using <literal>PHP</literal> within an web environment, turning + this option on has serious performance implications and is generally + recommended for debugging purposes only. This value defaults to + &true; when operating under the <literal>CLI SAPI</literal>. + </para> + <para> + See also <function>ob_implicit_flush</function>. + </para> </listitem> </varlistentry> </variablelist> Index: phpdoc/en/reference/sesam/reference.xml diff -u phpdoc/en/reference/sesam/reference.xml:1.3 phpdoc/en/reference/sesam/reference.xml:1.4 --- phpdoc/en/reference/sesam/reference.xml:1.3 Fri Aug 9 06:26:11 2002 +++ phpdoc/en/reference/sesam/reference.xml Sun Sep 29 20:09:46 2002 @@ -1,215 +1,56 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.3 $ --> +<!-- $Revision: 1.4 $ --> <reference id="ref.sesam"> <title>SESAM database functions</title> <titleabbrev>SESAM</titleabbrev> <partintro> - <para> - SESAM/SQL-Server is a mainframe database system, developed by - Fujitsu Siemens Computers, Germany. It runs on high-end mainframe - servers using the operating system BS2000/OSD. - </para> - <para> - In numerous productive BS2000 installations, SESAM/SQL-Server has - proven ... - <itemizedlist> - <listitem> - <simpara> - the ease of use of Java-, Web- and client/server connectivity, - </simpara> - </listitem> - <listitem> - <simpara> - the capability to work with an availability of more than - 99.99%, - </simpara> - </listitem> - <listitem> - <simpara> - the ability to manage tens and even hundreds of thousands of - users. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Now there is a PHP3 SESAM interface available which allows - database operations via PHP-scripts. - </para> - <note> - <title>Configuration notes</title> + <section id="sesam.intro"> + &reftitle.intro; <para> - There is no standalone support for the PHP SESAM interface, it - works only as an integrated Apache module. In the Apache PHP - module, this <link linkend="ini.sect.sesam">SESAM interface is - configured</link> using Apache directives. - <table> - <title>SESAM Configuration directives</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Directive</entry> - <entry>Meaning</entry> - </row> - </thead> - <tbody> - <row> - <entry><literal>php3_sesam_oml</literal></entry> - <entry> - Name of BS2000 PLAM library containing the loadable SESAM - driver modules. Required for using SESAM functions. - <para> - Example: - <informalexample> - <programlisting role="apache"> -<![CDATA[ -php3_sesam_oml $.SYSLNK.SESAM-SQL.030 -]]> - </programlisting> - </informalexample> - </para> - </entry> - </row> - <row> - <entry><literal>php3_sesam_configfile</literal></entry> - <entry> - Name of SESAM application configuration file. Required for - using SESAM functions. - <para> - Example: - <informalexample> - <programlisting role="apache"> -<![CDATA[ -php3_sesam_configfile $SESAM.SESAM.CONF.AW -]]> - </programlisting> - </informalexample> - It will usually contain a configuration like (see SESAM - reference manual): - <informalexample> - <programlisting role="bs2000"> -<![CDATA[ -CNF=B -NAM=K -NOTYPE -]]> - </programlisting> - </informalexample> - </para> - </entry> - </row> - <row> - <entry><literal>php3_sesam_messagecatalog</literal></entry> - <entry> - Name of SESAM message catalog file. In most cases, this - directive is not neccessary. Only if the SESAM message file - is not installed in the system's BS2000 message file table, - it can be set with this directive. - <para> - Example: - <informalexample> - <programlisting role="apache"> -<![CDATA[ -php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 -]]> - </programlisting> - </informalexample> - </para> - </entry> - </row> - </tbody> - </tgroup> - </table> + SESAM/SQL-Server is a mainframe database system, developed by + Fujitsu Siemens Computers, Germany. It runs on high-end mainframe + servers using the operating system BS2000/OSD. </para> <para> - In addition to the configuration of the PHP/SESAM interface, you - have to configure the SESAM-Database server itself on your - mainframe as usual. That means: + In numerous productive BS2000 installations, SESAM/SQL-Server has + proven <itemizedlist> <listitem> <simpara> - starting the SESAM database handler (DBH), and + the ease of use of Java-, Web- and client/server connectivity, </simpara> </listitem> <listitem> <simpara> - connecting the databases with the SESAM database handler + the capability to work with an availability of more than + 99.99%, </simpara> </listitem> - </itemizedlist> + <listitem> + <simpara> + the ability to manage tens and even hundreds of thousands of + users. + </simpara> + </listitem> + </itemizedlist> </para> <para> - To get a connection between a PHP script and the database - handler, the <literal>CNF</literal> and <literal>NAM</literal> - parameters of the selected SESAM configuration file must match - the id of the started database handler. - </para> - <para> - In case of distributed databases you have to start a - SESAM/SQL-DCN agent with the distribution table including the - host and database names. - </para> - <para> - The communication between PHP (running in the POSIX subsystem) - and the database handler (running outside the POSIX subsystem) is - realized by a special driver module called SQLSCI and SESAM - connection modules using common memory. Because of the common - memory access, and because PHP is a static part of the web - server, database accesses are very fast, as they do not require - remote accesses via ODBC, JDBC or UTM. - </para> - <para> - Only a small stub loader (SESMOD) is linked with PHP, and the - SESAM connection modules are pulled in from SESAM's OML PLAM - library. In the <link - linkend="ini.sect.sesam">configuration</link>, you must tell PHP - the name of this PLAM library, and the file link to use for the - SESAM configuration file (As of SESAM V3.0, SQLSCI is available - in the SESAM Tool Library, which is part of the standard - distribution). - </para> - <para> - Because the SQL command quoting for single quotes uses duplicated - single quotes (as opposed to a single quote preceded by a - backslash, used in some other databases), it is advisable to set - the PHP configuration directives <link - linkend="ini.magic-quotes-gpc"><literal>php3_magic_quotes_gpc</literal></link> - and <link - linkend="ini.magic-quotes-sybase"><literal>php3_magic_quotes_sybase</literal></link> - to <literal>On</literal> for all PHP scripts using the SESAM - interface. - </para> - </note> - <note> - <title>Runtime considerations</title> - <para> - Because of limitations of the BS2000 process model, the driver - can be loaded only after the Apache server has forked off its - server child processes. This will slightly slow down the initial - SESAM request of each child, but subsequent accesses will respond - at full speed. - </para> - <para> - When explicitly defining a Message Catalog for SESAM, that - catalog will be loaded each time the driver is loaded (i.e., at - the initial SESAM request). The BS2000 operating system prints a - message after successful load of the message catalog, which will - be sent to Apache's error_log file. BS2000 currently does not - allow suppression of this message, it will slowly fill up the - log. - </para> - <para> - Make sure that the SESAM OML PLAM library and SESAM configuration - file are readable by the user id running the web server. - Otherwise, the server will be unable to load the driver, and will - not allow to call any SESAM functions. Also, access to the - database must be granted to the user id under which the Apache - server is running. Otherwise, connections to the SESAM database - handler will fail. + There is a <literal>PHP3</literal> SESAM interface available which allows + database operations via PHP-scripts. </para> - </note> - <note> + <note> + <simpara> + Access to SESAM is only available with the latest CVS-Version of + <literal>PHP3</literal>. <literal>PHP 4</literal> does not support the + SESAM database. + </simpara> + </note> + </section> + + &reference.sesam.ini; + + <section id="sesam.cursor-types"> <title>Cursor Types</title> <para> The result cursors which are allocated for SQL "select type" @@ -274,11 +115,10 @@ </tgroup> </table> </para> - </note> - <note> - <title> - Porting note - </title> + </section> + + <section id="sesam.porting-note"> + <title>Porting note</title> <para> Because in the PHP world it is natural to start indexes at zero (rather than 1), some adaptions have been made to the SESAM @@ -293,8 +133,9 @@ description of the respective php sesam functions include a note that the index is zero based. </para> - </note> - <note> + </section> + + <section id="sesam.security"> <title>Security concerns</title> <para> When allowing access to the SESAM databases, the web server user @@ -306,8 +147,9 @@ administer the database by using password control and/or SSL security. </para> - </note> - <note> + </section> + + <section id="sesam.migration"> <title>Migration from other SQL databases</title> <para> No two SQL dialects are ever 100% compatible. When porting @@ -403,8 +245,9 @@ </listitem> </itemizedlist> </para> - </note> - <note> + </section> + + <section id="sesam.sql-types"> <title> Notes on the use of various SQL types </title> @@ -452,8 +295,9 @@ appearance of empty fields (than in the case of an empty string as the representation of an empty field). </para> - </note> - <note> + </section> + + <section id="sesam.multiple-fields"> <title>Support of SESAM's "multiple fields" feature</title> <para> The special "multiple fields" feature of SESAM allows a column to @@ -491,14 +335,19 @@ will have the index 0, and the three "multi(1..3)" columns will be accessible as indices 1 through 3. </para> - </note> - <para> - For specific SESAM details, please refer to <ulink - url="&url.sesam.en;">the SESAM/SQL-Server documentation - (english)</ulink> or <ulink url="&url.sesam.de;">the - SESAM/SQL-Server documentation (german)</ulink>, both available - online, or use the respective manuals. + </section> + + <section id="sesam.seealso"> + &reftitle.seealso; + <para> + For specific SESAM details, please refer to <ulink + url="&url.sesam.en;">the SESAM/SQL-Server documentation + (english)</ulink> or <ulink url="&url.sesam.de;">the + SESAM/SQL-Server documentation (german)</ulink>, both available + online, or use the respective manuals. </para> + </section> + </partintro> &reference.sesam.functions; Index: phpdoc/en/reference/sybase/ini.xml diff -u phpdoc/en/reference/sybase/ini.xml:1.1 phpdoc/en/reference/sybase/ini.xml:1.2 --- phpdoc/en/reference/sybase/ini.xml:1.1 Sun Sep 15 11:24:38 2002 +++ phpdoc/en/reference/sybase/ini.xml Sun Sep 29 20:09:46 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <section id="sybase.configuration"> &reftitle.runtime; &extension.runtime; @@ -51,9 +51,7 @@ <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link> - </entry> + <entry>magic_quotes_sybase</entry> <entry>"Off"</entry> <entry>PHP_INI_ALL</entry> </row> @@ -143,8 +141,24 @@ </listitem> </varlistentry> + <varlistentry id="ini.magic-quotes-sybase"> + <term> + <parameter>magic_quotes_sybase</parameter> + <type>boolean</type> + </term> + <listitem> + <para> + If <parameter>magic_quotes_sybase</parameter> is also on, a + single-quote is escaped with a single-quote instead of a + backslash if <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> + or <link linkend="magic-quotes-runtime">magic_quotes_runtime</link> is enabled. + </para> + </listitem> + </varlistentry> + </variablelist> </para> + <para> <table> <title>Sybase-CT configuration options</title> Index: phpdoc/en/reference/var/reference.xml diff -u phpdoc/en/reference/var/reference.xml:1.4 phpdoc/en/reference/var/reference.xml:1.5 --- phpdoc/en/reference/var/reference.xml:1.4 Fri Aug 9 06:26:12 2002 +++ phpdoc/en/reference/var/reference.xml Sun Sep 29 20:09:47 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> +<!-- $Revision: 1.5 $ --> <reference id="ref.variables"> <title>Variable Functions</title> <titleabbrev>Variables</titleabbrev> @@ -24,10 +24,7 @@ &no.install; </section> - <section id="variables.configuration"> - &reftitle.runtime; - &no.config; - </section> + &reference.var.ini; <section id="variables.resources"> &reftitle.resources; Index: phpdoc/en/reference/errorfunc/ini.xml +++ phpdoc/en/reference/errorfunc/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="errorfunc.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title> Errors and Logging Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>error_reporting</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>display_errors</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>display_startup_errors</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>log_errors</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>log_errors_max_len</entry> <entry>"1024"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>ignore_repeated_errors</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>ignore_repeated_source</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>report_memleaks</entry> <entry>"1"</entry> <entry>PHP_INI_SYSTEM</entry> </row> <row> <entry>track_errors</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>html_errors</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>docref_root</entry> <entry>"http://www.php.net/"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>docref_ext</entry> <entry>".html"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>error_prepend_string</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>error_append_string</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>error_log</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>warn_plus_overloading</entry> <entry>NULL</entry> <entry>PHP_INI??</entry> </row> </tbody> </tgroup> </table> For further details and definition of the PHP_INI_* constants see <function>ini_set</function>. </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="ini.error-reporting"> <term> <parameter>error_reporting</parameter> <type>integer</type> </term> <listitem> <para> Set the error reporting level. The parameter is either an integer representing a bit field, or named constants. The error_reporting levels and constants are described in <link linkend="errorfunc.constants">Predefined Constants</link> , and in &php.ini;. To set at runtime, use the <function>error_reporting</function> function. See also the <link linkend="ini.display-errors">display_errors</link> directive. </para> <para> The default value does not show <constant>E_NOTICE</constant> level errors. You may want to show them during development. </para> </listitem> </varlistentry> <varlistentry id="ini.display-errors"> <term> <parameter>display_errors</parameter> <type>boolean</type> </term> <listitem> <para> This determines whether errors should be printed to the screen as part of the HTML output or not. </para> </listitem> </varlistentry> <varlistentry id="ini.display-startup-errors"> <term> <parameter>display_startup_errors</parameter> <type>boolean</type> </term> <listitem> <para> Even when display_errors is on, errors that occur during PHP's startup sequence are not displayed. It's strongly recommended to keep display_startup_errors off, except for debugging. </para> </listitem> </varlistentry> <varlistentry id="ini.log-errors"> <term> <parameter>log_errors</parameter> <type>boolean</type> </term> <listitem> <para> Tells whether script error messages should be logged to the server's error log or <link linkend="ini.error_log">error_log</link>. This option is thus server-specific. </para> <note> <para> You're strongly advised to use error logging in place of error displaying on production web sites. </para> </note> </listitem> </varlistentry> <varlistentry id="ini.log-errors-max-len"> <term> <parameter>log_errors_max_len</parameter> <type>integer</type> </term> <listitem> <para> Set the maximum length of log_errors in kbytes. In <link linkend="ini.error-log">error_log</link> information about the source is added. The default is 1024 and 0 allows to not apply any maximum length at all. </para> </listitem> </varlistentry> <varlistentry id="ini.ignore-repeated-errors"> <term> <parameter>ignore_repeated_errors</parameter> <type>boolean</type> </term> <listitem> <para> Do not log repeated messages. Repeated errors must occur in the same file on the same line until <link linkend="ini.ignore-repeated-source">ignore_repeated_source</link> is set true. </para> </listitem> </varlistentry> <varlistentry id="ini.ignore-repeated-source"> <term> <parameter>ignore_repeated_source</parameter> <type>boolean</type> </term> <listitem> <para> Ignore source of message when ignoring repeated messages. When this setting is On you will not log errors with repeated messages from different files or sourcelines. </para> </listitem> </varlistentry> <varlistentry id="ini.report-memleaks"> <term> <parameter>report_memleaks</parameter> <type>boolean</type> </term> <listitem> <para> If this parameter is set to Off, then memory leaks will not be shown (on stdout or in the log). This has only effect in a debug compile, and if <link linkend="ini.error-reporting">error_reporting</link> includes E_WARNING in the allowed list </para> </listitem> </varlistentry> <varlistentry id="ini.track-errors"> <term> <parameter>track_errors</parameter> <type>boolean</type> </term> <listitem> <para> If enabled, the last error message will always be present in the global variable <varname>$php_errormsg</varname>.</para> </listitem> </varlistentry> <varlistentry id="ini.html-errors"> <term> <parameter>html_errors</parameter> <type>boolean</type> </term> <listitem> <para> Turn off HTML tags in error messages. The new format for html errors produces clickable messages that direct the user to a page describing the error or function in causing the error. These references are affected by <link linkend="ini.docref-root">docref_root</link> and <link linkend="ini.docref-ext">docref_ext</link>. </para> </listitem> </varlistentry> <varlistentry id="ini.docref-root"> <term> <parameter>docref_root</parameter> <type>string</type> </term> <listitem> <para> The new error format contains a reference to a page describing the error or function in causing the error. In case of manual pages you can download the manual in your language and set this ini directive to the url of your local copy. If your local copy of the manual can be reached by '/manual/' you can simply use <userinput>docref_root=/manual/</userinput>. Additional you have to set docref_ext to match the fileextensions of your copy <userinput>docref_ext=.html</userinput>. It is possible to use external references. For example you can use <userinput>docref_root=http://manual/en/</userinput>. </para> <note> <para> The value of docref_root must end with a slash '/'. </para> </note> </listitem> </varlistentry> <varlistentry id="ini.docref-ext"> <term> <parameter>docref_ext</parameter> <type>string</type> </term> <listitem> <para> See <link linkend="ini.docref-root">docref_root</link>. </para> <note> <para> The value of docref_ext must begin with a dot '.'. </para> </note> </listitem> </varlistentry> <varlistentry id="ini.error-prepend-string"> <term> <parameter>error_prepend_string</parameter> <type>string</type> </term> <listitem> <para> String to output before an error message. </para> </listitem> </varlistentry> <varlistentry id="ini.error-append-string"> <term> <parameter>error_append_string</parameter> <type>string</type> </term> <listitem> <para> String to output after an error message. </para> </listitem> </varlistentry> <varlistentry id="ini.error-log"> <term> <parameter>error_log</parameter> <type>string</type> </term> <listitem> <para> Name of the file where script errors should be logged. If the special value <literal>syslog</literal> is used, the errors are sent to the system logger instead. On UNIX, this means syslog(3) and on Windows NT it means the event log. The system logger is not supported on Windows 95. See also: <function>syslog</function>. </para> </listitem> </varlistentry> <varlistentry id="ini.warn-plus-overloading"> <term> <parameter>warn_plus_overloading</parameter> <type>boolean</type> </term> <listitem> <para> If enabled, this option makes PHP output a warning when the plus (<literal>+</literal>) operator is used on strings. This is to make it easier to find scripts that need to be rewritten to using the string concatenator instead (<literal>.</literal>). </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:"../../../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 --> Index: phpdoc/en/reference/filesystem/ini.xml +++ phpdoc/en/reference/filesystem/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="filesystem.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title>Filesystem and Streams Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>allow_url_fopen</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>user_agent</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>default_socket_timeout</entry> <entry>"60"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>from</entry> <entry>NULL</entry> <entry>??</entry> </row> <row> <entry>auto_detect_line_endings</entry> <entry>"Off"</entry> <entry>PHP_INI_ALL</entry> </row> </tbody> </tgroup> </table> </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="ini.allow-url-fopen"> <term> <parameter>allow_url_fopen</parameter> <type>boolean</type> </term> <listitem> <para> This option enables the URL-aware fopen wrappers that enable accessing URL object like files. Default wrappers are provided for the access of <link linkend="features.remote-files">remote files</link> using the ftp or http protocol, some extensions like <link linkend="ref.zlib">zlib</link> may register additional wrappers. </para> <note> <para> This option was introduced immediately after the release of version 4.0.3. For versions up to and including 4.0.3 you can only disable this feature at compile time by using the configuration switch <link linkend="install.configure.disable-url-fopen-wrapper"><parameter> --disable-url-fopen-wrapper</parameter></link>. </para> </note> <warning> <para> On Windows versions prior to PHP 4.3, the following functions do not support remote file accesing: <function>include</function>, <function>include_once</function>, <function>require</function>, <function>require_once</function> and the imagecreatefromXXX functions in the <xref linkend="ref.image"/> extension. </para> </warning> </listitem> </varlistentry> <varlistentry id="ini.user-agent"> <term> <parameter>user_agent</parameter> <type>string</type> </term> <listitem> <para> Define the user agent for <literal>PHP</literal> to send. </para> </listitem> </varlistentry> <varlistentry id="ini.default-socket-timeout"> <term> <parameter>default_socket_timeout</parameter> <type>integer</type> </term> <listitem> <para> Default timeout (in seconds) for socket based streams. </para> <note> <simpara> This configuration option was introduced in PHP 4.3. </simpara> </note> </listitem> </varlistentry> <varlistentry id="ini.from"> <term> <parameter>from="joe@example.com"</parameter> <type>string</type> </term> <listitem> <para> Define the anonymous ftp password (your email address). </para> </listitem> </varlistentry> <varlistentry id="ini.auto-detect-line-endings"> <term> <parameter>auto_detect_line_endings</parameter> <type>boolean</type> </term> <listitem> <para> When turned on, PHP will examine the data read by <function>fgets</function> and <function>file</function> to see if it is using Unix, MS-Dos or Macintosh line-ending conventions. </para> <para>This enables PHP to to interoperate with Macintosh systems, but defaults to Off, as there is a very small performance penalty when detecting the EOL conventions for the first line, and also because people using carriage-returns as item separators under Unix systems would experience non-backwards-compatible behaviour. </para> <note> <simpara> This configuration option was introduced in PHP 4.3. </simpara> </note> </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:"../../../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 --> Index: phpdoc/en/reference/info/ini.xml +++ phpdoc/en/reference/info/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="info.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title>PHP Options/Inf Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>assert.active</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>assert.bail</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>assert.warning</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>assert.callback</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>assert.quiet_eval</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>enable_dl</entry> <entry>"1"</entry> <entry>PHP_INI_SYSTEM</entry> </row> <row> <entry>max_execution_time</entry> <entry>"30"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>magic_quotes_gpc</entry> <entry>"1"</entry> <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> </row> <row> <entry>magic_quotes_runtime</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> </tbody> </tgroup> </table> For further details and definition of the PHP_INI_* constants see <function>ini_set</function>. </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="ini.assert.active"> <term> <parameter>assert.active</parameter> <type>boolean</type> </term> <listitem> <para> Enable <function>assert</function> evaluation. </para> </listitem> </varlistentry> <varlistentry id="ini.assert.bail"> <term> <parameter>assert.bail</parameter> <type>boolean</type> </term> <listitem> <para> Terminate script execution on failed assertions. </para> </listitem> </varlistentry> <varlistentry id="ini.assert.warning"> <term> <parameter>assert.warning</parameter> <type>boolean</type> </term> <listitem> <para> Issue a <literal>PHP</literal> warning for each failed assertion. </para> </listitem> </varlistentry> <varlistentry id="ini.assert.callback"> <term> <parameter>assert.callback</parameter> <type>string</type> </term> <listitem> <para> user function to call on failed assertions </para> </listitem> </varlistentry> <varlistentry id="ini.assert.quiet-eval"> <term> <parameter>assert.quiet_eval</parameter> <type>boolean</type> </term> <listitem> <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 id="ini.enable-dl"> <term> <parameter>enable_dl</parameter> <type>boolean</type> </term> <listitem> <para> This directive is really only useful in the Apache module version of PHP. You can turn dynamic loading of PHP extensions with <function>dl</function> on and off per virtual server or per directory. </para> <para> The main reason for turning dynamic loading off is security. With dynamic loading, it's possible to ignore all the <link linkend="ini.safe-mode">safe_mode</link> and <link linkend="ini.open-basedir">open_basedir</link> restrictions. </para> <para> The default is to allow dynamic loading, except when using safe-mode. In safe-mode, it's always imposible to use <function>dl</function>. </para> </listitem> </varlistentry> <varlistentry id="ini.max-execution-time"> <term> <parameter>max_execution_time</parameter> <type>integer</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>. </para> <para> The maximum execution time is not affected by system calls, the <function>sleep</function> function, etc. Please see the <function>set_time_limit</function> function for more details. </para> </listitem> </varlistentry> <varlistentry id="ini.magic-quotes-gpc"> <term> <parameter>magic_quotes_gpc</parameter> <type>boolean</type> </term> <listitem> <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. If magic_quotes_sybase is also on, a single-quote is escaped with a single-quote instead of a backslash. </para> </listitem> </varlistentry> <varlistentry id="ini.magic-quotes-runtime"> <term> <parameter>magic_quotes_runtime</parameter> <type>boolean</type> </term> <listitem> <para> If <parameter>magic_quotes_runtime</parameter> 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 <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link> is also on, a single-quote is escaped with a single-quote instead of a backslash. </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:"../../../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 --> Index: phpdoc/en/reference/misc/ini.xml +++ phpdoc/en/reference/misc/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="misc.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title> Misc. Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>ignore_user_abort</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.string</entry> <entry>#CC0000</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.comment</entry> <entry>#FF9900</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.keyword</entry> <entry>#006600</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.bg</entry> <entry>#FFFFFF</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.default</entry> <entry>#0000CC</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.html</entry> <entry>#000000</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>browscap</entry> <entry>NULL</entry> <entry>PHP_INI_SYSTEM</entry> </row> </tbody> </tgroup> </table> For further details and definition of the PHP_INI_* constants see <function>ini_set</function>. </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="ini.ignore-user-abort"> <term> <parameter>ignore_user_abort</parameter> <type>boolean</type> </term> <listitem> <para> &true; by default. If changed to &false; scripts will be terminated as soon as they try to output something after a client has aborted their connection. </para> <para> See also <function>ignore_user_abort</function>. </para> </listitem> </varlistentry> <varlistentry id="ini.syntax-highlighting"> <term> <parameter>highlight.xxx</parameter> <type>string</type> </term> <listitem> <para> Colors for Syntax Highlighting mode. Anything that's acceptable in <font color="??????"> would work. </para> </listitem> </varlistentry> <varlistentry id="ini.browscap"> <term> <parameter>browscap</parameter> <type>string</type> </term> <listitem> <para> Name (e.g.: <filename>browscap.ini</filename>)and location of browser capabilities file. See also <function>get_browser</function>. </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:"../../../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 --> Index: phpdoc/en/reference/sesam/ini.xml +++ phpdoc/en/reference/sesam/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="sesam.configuration"> &reftitle.runtime; &extension.runtime; <variablelist> <varlistentry id="ini.sesam-oml"> <term> <parameter>sesam_oml</parameter> <type>string</type> </term> <listitem> <para> Name of BS2000 PLAM library containing the loadable SESAM driver modules. Required for using SESAM functions. The BS2000 PLAM library must be set ACCESS=READ,SHARE=YES because it must be readable by the apache server's user id. </para> </listitem> </varlistentry> <varlistentry id="ini.sesam-configfile"> <term> <parameter>sesam_configfile</parameter> <type>string</type> </term> <listitem> <para> Name of SESAM application configuration file. Required for using SESAM functions. The BS2000 file must be readable by the apache server's user id. </para> <para> The application configuration file will usually contain a configuration like (see SESAM reference manual): <informalexample> <programlisting role="bs2000"> <![CDATA[ CNF=B NAM=K NOTYPE ]]> </programlisting> </informalexample> </para> </listitem> </varlistentry> <varlistentry id="ini.sesam-messagecatalog"> <term> <parameter>sesam_messagecatalog</parameter> <type>string</type> </term> <listitem> <para> Name of SESAM message catalog file. In most cases, this directive is not neccessary. Only if the SESAM message file is not installed in the system's BS2000 message file table, it can be set with this directive. </para> <para> The message catalog must be set ACCESS=READ,SHARE=YES because it must be readable by the apache server's user id. </para> </listitem> </varlistentry> </variablelist> </section> <section id="sesam.config-notes"> <title>Configuration notes</title> <para> There is no standalone support for the PHP SESAM interface, it works only as an integrated Apache module. In the Apache PHP module, this <link linkend="sesam.configuration">SESAM interface is configured</link> using Apache directives. <table> <title>SESAM Configuration directives</title> <tgroup cols="2"> <thead> <row> <entry>Directive</entry> <entry>Meaning</entry> </row> </thead> <tbody> <row> <entry><literal>php3_sesam_oml</literal></entry> <entry> Name of BS2000 PLAM library containing the loadable SESAM driver modules. Required for using SESAM functions. <para> Example: <informalexample> <programlisting role="apache"> <![CDATA[ php3_sesam_oml $.SYSLNK.SESAM-SQL.030 ]]> </programlisting> </informalexample> </para> </entry> </row> <row> <entry><literal>php3_sesam_configfile</literal></entry> <entry> Name of SESAM application configuration file. Required for using SESAM functions. <para> Example: <informalexample> <programlisting role="apache"> <![CDATA[ php3_sesam_configfile $SESAM.SESAM.CONF.AW ]]> </programlisting> </informalexample> It will usually contain a configuration like (see SESAM reference manual): <informalexample> <programlisting role="bs2000"> <![CDATA[ CNF=B NAM=K NOTYPE ]]> </programlisting> </informalexample> </para> </entry> </row> <row> <entry><literal>php3_sesam_messagecatalog</literal></entry> <entry> Name of SESAM message catalog file. In most cases, this directive is not neccessary. Only if the SESAM message file is not installed in the system's BS2000 message file table, it can be set with this directive. <para> Example: <informalexample> <programlisting role="apache"> <![CDATA[ php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 ]]> </programlisting> </informalexample> </para> </entry> </row> </tbody> </tgroup> </table> </para> <para> In addition to the configuration of the PHP/SESAM interface, you have to configure the SESAM-Database server itself on your mainframe as usual. That means: <itemizedlist> <listitem> <simpara> starting the SESAM database handler (DBH), and </simpara> </listitem> <listitem> <simpara> connecting the databases with the SESAM database handler </simpara> </listitem> </itemizedlist> </para> <para> To get a connection between a PHP script and the database handler, the <literal>CNF</literal> and <literal>NAM</literal> parameters of the selected SESAM configuration file must match the id of the started database handler. </para> <para> In case of distributed databases you have to start a SESAM/SQL-DCN agent with the distribution table including the host and database names. </para> <para> The communication between PHP (running in the POSIX subsystem) and the database handler (running outside the POSIX subsystem) is realized by a special driver module called SQLSCI and SESAM connection modules using common memory. Because of the common memory access, and because PHP is a static part of the web server, database accesses are very fast, as they do not require remote accesses via ODBC, JDBC or UTM. </para> <para> Only a small stub loader (SESMOD) is linked with PHP, and the SESAM connection modules are pulled in from SESAM's OML PLAM library. In the <link linkend="sesam.configuration">configuration</link>, you must tell PHP the name of this PLAM library, and the file link to use for the SESAM configuration file (As of SESAM V3.0, SQLSCI is available in the SESAM Tool Library, which is part of the standard distribution). </para> <para> Because the SQL command quoting for single quotes uses duplicated single quotes (as opposed to a single quote preceded by a backslash, used in some other databases), it is advisable to set the PHP configuration directives <link linkend="ini.magic-quotes-gpc"><literal>php3_magic_quotes_gpc</literal></link> and <link linkend="ini.magic-quotes-sybase"><literal>php3_magic_quotes_sybase</literal></link> to <literal>On</literal> for all PHP scripts using the SESAM interface. </para> </section> <section id="sesam.runtime"> <title>Runtime considerations</title> <para> Because of limitations of the BS2000 process model, the driver can be loaded only after the Apache server has forked off its server child processes. This will slightly slow down the initial SESAM request of each child, but subsequent accesses will respond at full speed. </para> <para> When explicitly defining a Message Catalog for SESAM, that catalog will be loaded each time the driver is loaded (i.e., at the initial SESAM request). The BS2000 operating system prints a message after successful load of the message catalog, which will be sent to Apache's error_log file. BS2000 currently does not allow suppression of this message, it will slowly fill up the log. </para> <para> Make sure that the SESAM OML PLAM library and SESAM configuration file are readable by the user id running the web server. Otherwise, the server will be unable to load the driver, and will not allow to call any SESAM functions. Also, access to the database must be granted to the user id under which the Apache server is running. Otherwise, connections to the SESAM database handler will fail. </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:"../../../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 --> Index: phpdoc/en/reference/var/ini.xml +++ phpdoc/en/reference/var/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="var.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title> Variables Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>unserialize_callback_func</entry> <entry>""</entry> <entry>PHP_INI_ALL</entry> </row> </tbody> </tgroup> </table> For further details and definition of the PHP_INI_* constants see <function>ini_set</function>. </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="unserialize-callback-func"> <term> <parameter>unserialize_callback_func</parameter> <type>string</type> </term> <listitem> <para> The unserialize callback function will called (with the undefind class' name as parameter), if the unserializer finds an undefined class which should be instanciated. A warning appears if the specified function is not defined, or if the function doesn't include/implement the missing class. So only set this entry, if you really want to implement such a callback-function. </para> <para> See also <function>unserialize</function>. </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:"../../../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 -->
Index: phpdoc/en/chapters/config.xml diff -u phpdoc/en/chapters/config.xml:1.78 phpdoc/en/chapters/config.xml:1.79 --- phpdoc/en/chapters/config.xml:1.78 Thu Sep 26 17:59:41 2002 +++ phpdoc/en/chapters/config.xml Sun Sep 29 20:09:42 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.78 $ --> +<!-- $Revision: 1.79 $ --> <chapter id="configuration"> <title>Configuration</title> @@ -10,7 +10,7 @@ The configuration file (called <filename>php3.ini</filename> in PHP 3.0, and simply &php.ini; as of PHP 4.0) is read when PHP starts up. For the server module versions of PHP, - this happens only once when the web server is started. For the + this happens only once when the web server is started. For the <acronym>CGI</acronym> and <acronym>CLI</acronym> version, it happens on every invocation. </simpara> @@ -60,78 +60,87 @@ <!-- TODO: add more details about values and expressions --> </example> </para> + </sect1> - <simpara> - When using PHP as an Apache module, you can also change the - configuration settings using directives in Apache configuration - files and .htaccess files (You will need "AllowOverride - Options" or "AllowOverride All" privileges) - </simpara> + <sect1 id="configuration.changes"> + <title>How to change configuration settings</title> - <simpara> - With PHP 3.0, there are Apache directives that correspond to each - configuration setting in the <filename>php3.ini</filename> name, - except the name is prefixed by "php3_". - </simpara> + <sect2 id="configuration.changes.apache"> + <title>Running <literal>PHP</literal> as Apache module</title> + <simpara> + When using PHP as an Apache module, you can also change the + configuration settings using directives in Apache configuration + files (e.g. <filename>httpd.conf</filename>) and + <filename>.htaccess</filename> files (You will need + "AllowOverride Options" or "AllowOverride All" privileges) + </simpara> - <para> - With PHP 4.0, there are several Apache directives that allow you - to change the PHP configuration from within the Apache - configuration file itself. - <variablelist> - <varlistentry> - <term> - <systemitem role="directive">php_value</systemitem> - <parameter>name</parameter> - <parameter>value</parameter> - </term> - <listitem> - <para> - This sets the value of the specified variable.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <systemitem role="directive">php_flag</systemitem> - <parameter>name</parameter> - <parameter>on|off</parameter> - </term> - <listitem> - <para> - This is used to set a Boolean configuration option.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <systemitem role="directive">php_admin_value</systemitem> - <parameter>name</parameter> - <parameter>value</parameter> - </term> - <listitem> - <para> - This sets the value of the specified variable. "Admin" - configuration settings can only be set from within the - main Apache configuration files, and not from .htaccess - files.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <systemitem role="directive">php_admin_flag</systemitem> - <parameter>name</parameter> - <parameter>on|off</parameter> - </term> - <listitem> - <para> - This is used to set a Boolean configuration option.</para> - </listitem> - </varlistentry> - </variablelist> - </para> - <para> - <example> - <title>Apache configuration example</title> - <programlisting role="ini"> + <simpara> + With PHP 3.0, there are Apache directives that correspond to each + configuration setting in the <filename>php3.ini</filename> name, + except the name is prefixed by "php3_". + </simpara> + + <para> + With PHP 4.0, there are several Apache directives that allow you + to change the PHP configuration from within the Apache + configuration file itself. + <variablelist> + <varlistentry> + <term> + <systemitem role="directive">php_value</systemitem> + <parameter>name</parameter> + <parameter>value</parameter> + </term> + <listitem> + <para> + This sets the value of the specified variable.</para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <systemitem role="directive">php_flag</systemitem> + <parameter>name</parameter> + <parameter>on|off</parameter> + </term> + <listitem> + <para> + This is used to set a Boolean configuration option.</para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <systemitem role="directive">php_admin_value</systemitem> + <parameter>name</parameter> + <parameter>value</parameter> + </term> + <listitem> + <para> + This sets the value of the specified variable. "Admin" + configuration settings can only be set from within the + main Apache configuration files, and not from + <filename>.htaccess</filename> files. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <systemitem role="directive">php_admin_flag</systemitem> + <parameter>name</parameter> + <parameter>on|off</parameter> + </term> + <listitem> + <para> + This is used to set a Boolean configuration option. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + <example> + <title>Apache configuration example</title> + <programlisting role="ini"> <![CDATA[ <IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" @@ -142,67 +151,187 @@ php3_safe_mode on </IfModule> ]]> -</programlisting> - </example> + </programlisting> + </example> - <note> - <para> - PHP constants do not exist outside of PHP. For example, in - <filename>httpd.conf</filename> do not use PHP constants - such as <constant>E_ALL</constant> or <constant>E_NOTICE</constant> - to set the <link linkend="ini.error-reporting">error_reporting</link> - directive as they will have no meaning and will evaluate to - <emphasis>0</emphasis>. Use the associated bitmask values instead. - These constants can be used in &php.ini; - </para> - </note> - </para> + <note> + <para> + PHP constants do not exist outside of PHP. For example, in + <filename>httpd.conf</filename> do not use PHP constants + such as <constant>E_ALL</constant> or <constant>E_NOTICE</constant> + to set the <link linkend="ini.error-reporting">error_reporting</link> + directive as they will have no meaning and will evaluate to + <emphasis>0</emphasis>. Use the associated bitmask values instead. + These constants can be used in &php.ini; + </para> + </note> + </para> + </sect2> - <simpara> - You can view the settings of the configuration values in - the output of <function>phpinfo</function>. You can also - access the values of individual configuration settings using - <function>ini_get</function> or <function>get_cfg_var</function>. - </simpara> - - <sect2 id="ini.sect.general"> - <title>General Configuration Directives</title> + <sect2 id="configuration.changes.other"> + <title>Other interfaces to <literal>PHP</literal></title> <para> + Regardless of the interface to <literal>PHP</literal> you can change + certain values at runtime of your scripts through + <function>ini_set</function>. The following table provides an overview + at which level a directive can be set/changed. + </para> + <para> + <table> + <title>Definition of PHP_INI_* constants</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Constant</entry> + <entry>Value</entry> + <entry>Meaning</entry> + </row> + </thead> + <tbody> + <row> + <entry>PHP_INI_USER</entry> + <entry>1</entry> + <entry>Entry can be set in user scripts</entry> + </row> + <row> + <entry>PHP_INI_PERDIR</entry> + <entry>2</entry> + <entry> + Entry can be set in <filename>.htaccess</filename> and VHost + directives in httpd.conf. + </entry> + </row> + <row> + <entry>PHP_INI_SYSTEM</entry> + <entry>4</entry> + <entry> + Entry can be set in &php.ini; or + <filename>httpd.conf</filename> (but not in VHost blocks in + httpd.conf). + </entry> + </row> + <row> + <entry>PHP_INI_ALL</entry> + <entry>7</entry> + <entry>Entry can be set anywhere</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + You can view the settings of the configuration values in + the output of <function>phpinfo</function>. You can also + access the values of individual configuration settings using + <function>ini_get</function> or <function>get_cfg_var</function>. + </para> + </sect2> + </sect1> + + <sect1 id="configuration.directives"> + <title>Configuration directives</title> + + <sect2 id="ini.sect.httpd-options"> + <title>Httpd Options</title> + <para> + <table> + <title>Httpd Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>async_send</entry> + <entry>"0"</entry> + <entry>PHP_INI_ALL</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + </para> + </sect2> + + <sect2 id="ini.sect.language-options"> + <title>Language Options</title> + <para> + <table> + <title>Language and Misc Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>short_open_tag</entry> + <entry>On</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>asp_tags</entry> + <entry>Off</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>precision</entry> + <entry>"14"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>y2k_compliance</entry> + <entry>Off</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>allow_call_time_pass_reference</entry> + <entry>On</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>expose_php</entry> + <entry>On</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. <variablelist> - <varlistentry id="ini.allow-url-fopen"> + <varlistentry id="ini.short-open-tag"> <term> - <parameter>allow_url_fopen</parameter> + <parameter>short_open_tag</parameter> <type>boolean</type> </term> <listitem> <para> - This option enables the URL-aware fopen wrappers that enable - accessing URL object like files. Default wrappers are provided for - the access of <link linkend="features.remote-files">remote files</link> - using the ftp or http protocol, some extensions like - <link linkend="ref.zlib">zlib</link> may register additional - wrappers. + Tells whether the short form (<userinput><? ?></userinput>) + of PHP's open tag should be allowed. If you want to use PHP in + combination with XML, you can disable this option in order to + use <userinput><?xml ?></userinput> inline. Otherwise, you + can print it with PHP, for example: <userinput><?php echo '<?xml + version="1.0"'; ?></userinput>. Also if disabled, you must use the + long form of the PHP open tag (<userinput><?php ?></userinput>). </para> - <note> <para> - This option was introduced immediately after the release of version - 4.0.3. For versions up to and including 4.0.3 you can only disable this - feature at compile time by using the configuration switch - <link linkend="install.configure.disable-url-fopen-wrapper"><parameter> - --disable-url-fopen-wrapper</parameter></link>. + This directive also affects the shorthand <userinput><?=</userinput>, + which is identical to <userinput><? echo</userinput>. Use of this + shortcut requires <systemitem role="directive">short_open_tag</systemitem> + to be on. </para> </note> - <warning> - <para> - On Windows versions prior to PHP 4.3, the following functions do not - support remote file accesing: <function>include</function>, - <function>include_once</function>, <function>require</function>, - <function>require_once</function> and the imagecreatefromXXX - functions in the <xref linkend="ref.image"/> extension. - </para> - </warning> - </listitem> </varlistentry> @@ -217,351 +346,555 @@ the usual <?php ?> tags. This includes the variable-value printing shorthand of <%= $value %>. For more information, see <link - linkend="language.basic-syntax.phpmode">Escaping from HTML</link>. + linkend="language.basic-syntax.phpmode">Escaping from HTML</link>. </simpara> - <note> <para> - Support for ASP-style tags was added in 3.0.4. - </para> + Support for ASP-style tags was added in 3.0.4. + </para> </note> + </listitem> + </varlistentry> + <varlistentry id="ini.precision"> + <term> + <parameter>precision</parameter> + <type>integer</type> + </term> + <listitem> + <simpara> + The number of significant digits displayed in floating point numbers. + </simpara> </listitem> </varlistentry> - - <varlistentry id="ini.auto-append-file"> + + <varlistentry id="ini.y2k-compliance"> <term> - <parameter>auto_append_file</parameter> - <type>string</type> + <parameter>y2k_compliance</parameter> + <type>boolean</type> </term> <listitem> - <para> - Specifies the name of a file that is automatically parsed - after the main file. The file is included as if it was - called with the <function>include</function> function, so - <link linkend="ini.include-path">include_path</link> is used.</para> - <para> - The special value <systemitem class="constant">none</systemitem> - disables auto-appending. - <note> - <simpara> - If the script is terminated with <function>exit</function>, - auto-append will <emphasis>not</emphasis> occur.</simpara> - </note> - </para> + <simpara> + Enforce year 2000 compliance (will cause problems with non-compliant browsers) + </simpara> </listitem> </varlistentry> - <varlistentry id="ini.auto-prepend-file"> + + <varlistentry id="allow-call-time-pass-reference"> <term> - <parameter>auto_prepend_file</parameter> - <type>string</type> + <parameter>allow_call_time_pass_reference</parameter> + <type>boolean</type> </term> <listitem> <para> - Specifies the name of a file that is automatically parsed - before the main file. The file is included as if it was - called with the <function>include</function> function, so - <link linkend="ini.include-path">include_path</link> is used.</para> + Whether to enable the ability to force arguments to be passed by reference + at function call time. This method is deprecated and is likely to be + unsupported in future versions of PHP/Zend. The encouraged method of + specifying which arguments should be passed by reference is in the function + declaration. You're encouraged to try and turn this option Off and make + sure your scripts work properly with it in order to ensure they will work + with future versions of the language (you will receive a warning each time + you use this feature, and the argument will be passed by value instead of by + reference). + </para> <para> - The special value <systemitem class="constant">none</systemitem> - disables auto-prepending. + See also <link linkend="language.references">References Explained</link>. </para> </listitem> </varlistentry> - <varlistentry id="ini.disable-functions"> + <varlistentry id="expose-php"> <term> - <parameter>disable_functions</parameter> - <type>string</type> + <parameter>expose_php</parameter> + <type>boolean</type> </term> <listitem> - <simpara> - This directive allows you to disable certain functions for - <link linkend="security">security</link> reasons. It takes - on a comma-dilimited list of function names. disable_functions - is not affected by <link linkend="ini.safe-mode">Safe Mode</link>. - </simpara> - <simpara> - This directive must be set in &php.ini; For example, you - cannot set this in <filename>httpd.conf</filename>. - </simpara> + <para> + Decides whether PHP may expose the fact that it is installed on the server + (e.g. by adding its signature to the Web server header). It is no security + threat in any way, but it makes it possible to determine whether you use PHP + on your server or not. + </para> </listitem> </varlistentry> - - <varlistentry id="ini.display-errors"> + </variablelist> + </para> + </sect2> + + <sect2 id="ini.sect.resource-limits"> + <title>Resource Limits</title> + <para> + <table> + <title>Resource Limits</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>memory_limit</entry> + <entry>"8M"</entry> + <entry>PHP_INI_ALL</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + + <varlistentry id="ini.memory-limit"> + <term> + <parameter>memory_limit</parameter> + <type>integer</type> + </term> + <listitem> + <para> + This sets the maximum amount of memory in bytes that a script + is allowed to allocate. This helps prevent poorly written + scripts for eating up all available memory on a server. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + See also: <link linkend="ini.max-execution-time">max_execution_time</link>. + </para> + </sect2> + + <sect2 id="ini.sect.data-handling"> + <title>Data Handling</title> + <para> + <table> + <title>Data Handling Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>track-vars</entry> + <entry>"On"</entry> + <entry>PHP_INI_??</entry> + </row> + <row> + <entry>arg_separator.output</entry> + <entry>"&"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>arg_separator.input</entry> + <entry>"&"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>variables_order</entry> + <entry>"EGPCS"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>register_globals</entry> + <entry>"Off"</entry> + <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>register_argc_argv</entry> + <entry>"On"</entry> + <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>post_max_size</entry> + <entry>"8M"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>gpc_order</entry> + <entry>"GPC"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>auto_prepend_file</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>auto_append_file</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>default_mimetype</entry> + <entry>"text/html"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>default_charset</entry> + <entry>"iso-8859-1"</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>always_populate_raw_post_data</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + <row> + <entry>allow_webdav_methods</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.track-vars"> <term> - <parameter>display_errors</parameter> + <parameter>track_vars</parameter> <type>boolean</type> </term> <listitem> <para> - This determines whether errors should be printed to the screen - as part of the HTML output or not. + If enabled, then Environment, GET, POST, Cookie, and Server + variables can be found in the global associative arrays + <varname>$_ENV</varname>, + <varname>$_GET</varname>, + <varname>$_POST</varname>, + <varname>$_COOKIE</varname>, and + <varname>$_SERVER</varname>. + </para> + <para> + Note that as of PHP 4.0.3, <systemitem + role="directive">track_vars</systemitem> is always turned on. </para> </listitem> </varlistentry> - - <varlistentry id="ini.doc-root"> + + <varlistentry id="ini.arg-separator.output"> <term> - <parameter>doc_root</parameter> + <parameter>arg_separator.output</parameter> <type>string</type> </term> <listitem> <para> - PHP's "root directory" on the server. Only used if - non-empty. If PHP is configured with <link - linkend="ini.safe-mode">safe mode</link>, no files outside - this directory are served. + The separator used in PHP generated URLs to separate arguments. </para> </listitem> </varlistentry> - - <varlistentry id="ini.error-log"> + <varlistentry id="arg-separator.input"> <term> - <parameter>error_log</parameter> + <parameter>arg_separator.input</parameter> <type>string</type> </term> <listitem> <para> - Name of file where script errors should be logged. If the - special value <literal>syslog</literal> is used, the errors - are sent to the system logger instead. On UNIX, this means - syslog(3) and on Windows NT it means the event log. The - system logger is not supported on Windows 95. + List of separator(s) used by PHP to parse input URLs into variables. </para> + <note> + <para> + Every character in this directive is considered as separator! + </para> + </note> </listitem> </varlistentry> - <varlistentry id="ini.error-reporting"> + <varlistentry id="ini.variables-order"> <term> - <parameter>error_reporting</parameter> - <type>integer</type> + <parameter>variables_order</parameter> + <type>string</type> </term> <listitem> <para> - Set the error reporting level. The parameter is either an integer - representing a bit field, or named constants. The error_reporting - levels and constants are described in the - <link linkend="features.error-handling">Error Handling</link> section - of the manual, and in &php.ini;. To set at runtime, use the - <function>error_reporting</function> function. See also the - <link linkend="ini.display-errors">display_errors</link> directive. + Set the order of the EGPCS (Environment, GET, POST, Cookie, + Server) variable parsing. The default setting of this + directive is "EGPCS". Setting this to "GP", for example, + will cause PHP to completely ignore environment variables, + cookies and server variables, and to overwrite any GET + method variables with POST-method variables of the same name. </para> <para> - The default value does not show <constant>E_NOTICE</constant> level - errors. You may want to show them during development. + See also <link linkend="ini.register-globals">register_globals</link>. </para> </listitem> </varlistentry> - <varlistentry id="ini.file-uploads"> + <varlistentry id="ini.register-globals"> <term> - <parameter>file_uploads</parameter> + <parameter>register_globals</parameter> <type>boolean</type> </term> <listitem> <para> - Whether or not to allow HTTP - <link linkend="features.file-upload">file uploads</link>. See also - the - <link linkend="ini.upload-max-filesize">upload_max_filesize</link>, - <link linkend="ini.upload-tmp-dir">upload_tmp_dir</link>, and - <link linkend="ini.post-max-size">post_max_size</link> directives. + Tells whether or not to register the EGPCS (Environment, GET, + POST, Cookie, Server) variables as global variables. For example; + if register_globals = on, the url + <literal>http://www.example.com/test.php?id=3</literal> will produce + <varname>$id</varname>. Or, <varname>$DOCUMENT_ROOT</varname> from + <varname>$_SERVER['DOCUMENT_ROOT']</varname>. You may want to turn + this off if you don't want to clutter your scripts' global scope with + user data. As of PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink>, + this directive defaults to <emphasis>off</emphasis>. It's preferred to + go through PHP <link linkend="reserved.variables">Predefined Variables + </link> instead, such as the + <link linkend="language.variables.superglobals">superglobals</link>: + <varname>$_ENV</varname>, <varname>$_GET</varname>, + <varname>$_POST</varname>, <varname>$_COOKIE</varname>, and + <varname>$_SERVER</varname>. Please read the security chapter on + <link linkend="security.registerglobals">Using register_globals</link> + for related information. + </para> + <para> + Please note that <systemitem role="directive">register_globals</systemitem> + cannot be set at runtime (<function>ini_set</function>). Although, you can + use <filename>.htaccess</filename> if your host allows it as described + above. An example <filename>.htaccess</filename> entry: + <userinput>php_flag register_globals on</userinput>. </para> + <note> + <para> + <systemitem role="directive">register_globals</systemitem> is affected + by the <link linkend="ini.variables-order">variables_order</link> + directive. + </para> + </note> </listitem> </varlistentry> - - <varlistentry id="ini.html-errors"> + + <varlistentry id="ini.register-argc-argv"> <term> - <parameter>html_errors</parameter> + <parameter>register_argc_argv</parameter> <type>boolean</type> </term> <listitem> - <para> - Turn off HTML tags in error messages. The new format for html errors produces - clickable messages that direct the user to a page describing the error or - function in causing the error. These references are affected by - <link linkend="ini.docref-root">docref_root</link> and - <link linkend="ini.docref-ext">docref_ext</link>. - </para> + <simpara> + Tells PHP whether to declare the argv & argc variables + (that would contain the GET information). + </simpara> + <simpara> + See also <link linkend="features.commandline">command line</link>. + Also, this directive became available in PHP 4.0.0 and + was always "on" before that. + </simpara> </listitem> </varlistentry> - - <varlistentry id="ini.docref-root"> + + <varlistentry id="ini.post-max-size"> <term> - <parameter>docref_root</parameter> - <type>string</type> + <parameter>post_max_size</parameter> + <type>integer</type> </term> <listitem> - <para> - The new error format contains a reference to a page describing the error or - function in causing the error. In case of manual pages you can download the - manual in your language and set this ini directive to the url of your local - copy. If your local copy of the manual can be reached by '/manual/' you can - simply use <userinput>docref_root=/manual/</userinput>. Additional you have - to set docref_ext to match the fileextensions of your copy - <userinput>docref_ext=.html</userinput>. It is possible to use external - references. For example you can use - <userinput>docref_root=http://manual/en/</userinput>. - </para> - <note> - <para> - The value of docref_root must end with a slash '/'. - </para> - </note> + <simpara> + Sets max size of post data allowed. This setting also affects + file upload. To upload large files, this value must be larger + than <link linkend="ini.upload-max-filesize">upload_max_filesize</link>. + </simpara> + <simpara> + If memory limit is enabled by your configure script, <link + linkend="ini.memory-limit">memory_limit</link> also affects + file uploading. Generally speaking, + <link linkend="ini.memory-limit">memory_limit</link> should be + larger than <parameter>post_max_size</parameter>. + </simpara> </listitem> </varlistentry> - <varlistentry id="ini.docref-ext"> + <varlistentry id="ini.gpc-order"> <term> - <parameter>docref_ext</parameter> + <parameter>gpc_order</parameter> <type>string</type> </term> <listitem> <para> - See <link linkend="ini.docref-root">docref_root</link>. + Set the order of GET/POST/COOKIE variable parsing. The + default setting of this directive is "GPC". Setting this to + "GP", for example, will cause PHP to completely ignore cookies + and to overwrite any GET method variables with POST-method + variables of the same name. </para> <note> <para> - The value of docref_ext must begin with a dot '.'. + This option is not available in PHP 4. + Use <link linkend="ini.variables-order">variables_order</link> + instead. </para> </note> </listitem> </varlistentry> - <varlistentry id="ini.open-basedir"> + <varlistentry id="ini.auto-prepend-file"> <term> - <parameter>open_basedir</parameter> + <parameter>auto_prepend_file</parameter> <type>string</type> </term> <listitem> <para> - Limit the files that can be opened by PHP to the specified - directory-tree. - </para> - <para> - When a script tries to open a file with, - for example, fopen or gzopen, the location of the file is - checked. When the file is outside the specified directory-tree, - PHP will refuse to open it. All symbolic links are resolved, - so it's not possible to avoid this restriction with a symlink. - </para> - <para> - The special value <systemitem class="constant">.</systemitem> - indicates that the directory in which the script is stored will - be used as base-directory. - </para> - <para> - Under Windows, separate the directories with a semicolon. On all - other systems, separate the directories with a colon. As an Apache - module, open_basedir paths from parent directories are now - automatically inherited. - </para> - <para> - The restriction specified with open_basedir is actually a - prefix, not a directory name. This means that "open_basedir = - /dir/incl" also allows access to "/dir/include" and - "/dir/incls" if they exist. When you want to restrict access - to only the specified directory, end with a slash. For example: - "open_basedir = /dir/incl/" - </para> - <note> - <para> - Support for multiple directories was added in 3.0.7. - </para> - </note> + Specifies the name of a file that is automatically parsed + before the main file. The file is included as if it was + called with the <function>include</function> function, so + <link linkend="ini.include-path">include_path</link> is used.</para> <para> - The default is to allow all files to be opened. + The special value <systemitem class="constant">none</systemitem> + disables auto-prepending. </para> </listitem> </varlistentry> - - <varlistentry id="ini.gpc-order"> + + <varlistentry id="ini.auto-append-file"> <term> - <parameter>gpc_order</parameter> + <parameter>auto_append_file</parameter> <type>string</type> </term> <listitem> <para> - Set the order of GET/POST/COOKIE variable parsing. The - default setting of this directive is "GPC". Setting this to - "GP", for example, will cause PHP to completely ignore cookies - and to overwrite any GET method variables with POST-method - variables of the same name. - </para> + Specifies the name of a file that is automatically parsed + after the main file. The file is included as if it was + called with the <function>include</function> function, so + <link linkend="ini.include-path">include_path</link> is used.</para> <para> - Note, that this option is not available in PHP 4. - Use <link linkend="ini.variables-order">variables_order</link> - instead. + The special value <systemitem class="constant">none</systemitem> + disables auto-appending. + <note> + <simpara> + If the script is terminated with <function>exit</function>, + auto-append will <emphasis>not</emphasis> occur.</simpara> + </note> </para> </listitem> </varlistentry> - <varlistentry id="ini.variables-order"> + <varlistentry id="ini.default-mimetype"> <term> - <parameter>variables_order</parameter> + <parameter>default_mimetype</parameter> <type>string</type> </term> <listitem> <para> - Set the order of the EGPCS (Environment, GET, POST, Cookie, - Server) variable parsing. The default setting of this - directive is "EGPCS". Setting this to "GP", for example, - will cause PHP to completely ignore environment variables, - cookies and server variables, and to overwrite any GET - method variables with POST-method variables of the same name. </para> + </listitem> + </varlistentry> + + <varlistentry id="ini.default-charset"> + <term> + <parameter>default_charset</parameter> + <type>string</type> + </term> + <listitem> <para> - See also <link linkend="ini.register-globals">register_globals</link>. + As of 4.0b4, PHP always outputs a character encoding by default in + the Content-type: header. To disable sending of the charset, simply + set it to be empty. </para> </listitem> </varlistentry> - <varlistentry id="ini.ignore-user-abort"> + <varlistentry id="ini.always-populate-raw-post-data"> <term> - <parameter>ignore_user_abort</parameter> + <parameter>always_populate_raw_post_data</parameter> <type>boolean</type> </term> <listitem> <para> - &true; by default. If changed to &false; scripts will be terminated - as soon as they try to output something after a client has aborted - their connection. - </para> - <para> - See also <function>ignore_user_abort</function>. + Always populate the $HTTP_RAW_POST_DATA variable. </para> </listitem> </varlistentry> - <varlistentry id="ini.implicit-flush"> + <varlistentry id="ini.allow-webdav-methods"> <term> - <parameter>implicit_flush</parameter> + <parameter>allow_webdav_methods</parameter> <type>boolean</type> </term> <listitem> <para> - &false; by default. Changing this to &true; tells PHP to tell the - output layer to flush itself automatically after every output block. - This is equivalent to calling the <literal>PHP</literal> function - <function>flush</function> after each and every call to - <function>print</function> or <function>echo</function> and each and - every <literal>HTML</literal> block. - </para> - <para> - When using <literal>PHP</literal> within an web environment, turning - this option on has serious performance implications and is generally - recommended for debugging purposes only. This value defaults to - &true; when operating under the <literal>CLI SAPI</literal>. - </para> - <para> - See also <function>ob_implicit_flush</function>. + Allow handling of WebDAV http requests within PHP scripts (eg. + PROPFIND, PROPPATCH, MOVE, COPY, etc..) + If you want to get the post data of those requests, you have to + set <link linkend="ini.always-populate-raw-post-data"> + always_populate_raw_post_data</link> as well. </para> </listitem> </varlistentry> - + </variablelist> + </para> + <para> + See also: <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>, + <link linkend="ini.magic-quotes-runtime">magic-quotes-runtime</link>, + and + <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>. + </para> + </sect2> + + <sect2 id="ini.sect.path-directory"> + <title>Paths and Directories</title> + <para> + <table> + <title>Paths and Directories Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>include_path</entry> + <entry>PHP_INCLUDE_PATH</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>doc_root</entry> + <entry>PHP_INCLUDE_PATH</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>user_dir</entry> + <entry>NULL</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>extension_dir</entry> + <entry>PHP_EXTENSION_DIR</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>cgi.force_redirect</entry> + <entry>"1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>cgi.redirect_status_env</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>fastcgi.impersonate</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.include-path"> <term> <parameter>include_path</parameter> @@ -596,265 +929,175 @@ </listitem> </varlistentry> - <varlistentry id="ini.log-errors"> - <term> - <parameter>log_errors</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - Tells whether script error messages should be logged to the - server's error log. This option is thus server-specific.</para> - </listitem> - </varlistentry> - - <varlistentry id="ini.magic-quotes-gpc"> - <term> - <parameter>magic_quotes_gpc</parameter> - <type>boolean</type> - </term> - <listitem> - <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. If magic_quotes_sybase is - also on, a single-quote is escaped with a single-quote - instead of a backslash. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.magic-quotes-runtime"> - <term> - <parameter>magic_quotes_runtime</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - If <parameter>magic_quotes_runtime</parameter> 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 - <parameter>magic_quotes_sybase</parameter> is also on, a - single-quote is escaped with a single-quote instead of a - backslash. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.magic-quotes-sybase"> - <term> - <parameter>magic_quotes_sybase</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - If <parameter>magic_quotes_sybase</parameter> is also on, a - single-quote is escaped with a single-quote instead of a - backslash if <parameter>magic_quotes_gpc</parameter> or - <parameter>magic_quotes_runtime</parameter> is enabled. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.max-execution-time"> - <term> - <parameter>max_execution_time</parameter> - <type>integer</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>. - </para> - <para> - The maximum execution time is not affected by system calls, - the <function>sleep</function> function, etc. Please see the - <function>set_time_limit</function> function for more - details. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.memory-limit"> - <term> - <parameter>memory_limit</parameter> - <type>integer</type> - </term> - <listitem> - <para> - This sets the maximum amount of memory in bytes that a script - is allowed to allocate. This helps prevent poorly written - scripts for eating up all available memory on a server. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.precision"> - <term> - <parameter>precision</parameter> - <type>integer</type> - </term> - <listitem> - <simpara> - The number of significant digits displayed in floating point numbers. - </simpara> - </listitem> - </varlistentry> - - <varlistentry id="ini.register-argc-argv"> + <varlistentry id="ini.doc-root"> <term> - <parameter>register_argc_argv</parameter> - <type>boolean</type> + <parameter>doc_root</parameter> + <type>string</type> </term> <listitem> - <simpara> - Tells PHP whether to declare the argv & argc variables - (that would contain the GET information). - </simpara> - <simpara> - See also <link linkend="features.commandline">command line</link>. - Also, this directive became available in PHP 4.0.0 and - was always "on" before that. - </simpara> + <para> + PHP's "root directory" on the server. Only used if + non-empty. If PHP is configured with <link + linkend="ini.safe-mode">safe mode</link>, no files outside + this directory are served. + If PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root + if you are running php as a CGI under any web server (other than IIS) + The alternative is to use the <link linkend="ini.cgi.force-redirect"> + cgi.force_redirect</link> configuration below. + </para> </listitem> </varlistentry> - <varlistentry id="ini.post-max-size"> + <varlistentry id="ini.user-dir"> <term> - <parameter>post_max_size</parameter> - <type>integer</type> + <parameter>user_dir</parameter> + <type>string</type> </term> <listitem> - <simpara> - Sets max size of post data allowed. This setting also affects - file upload. To upload large files, this value must be larger - than <link - linkend="ini.upload-max-filesize">upload_max_filesize</link>. - </simpara> - <simpara> - If memory limit is enabled by configure script, <link - linkend="ini.memory-limit">memory_limit</link> also affects - file uploading. Generally speaking, <link - linkend="ini.memory-limit">memory_limit</link> should be - larger than <link - linkend="ini.post-max-size">post_max_size</link>. - </simpara> + <para> + The base name of the directory used on a user's home + directory for <literal>PHP</literal> files, for example + <literal>public_html</literal>. + </para> </listitem> </varlistentry> - <varlistentry id="ini.register-globals"> + <varlistentry id="ini.extension-dir"> <term> - <parameter>register_globals</parameter> - <type>boolean</type> + <parameter>extension_dir</parameter> + <type>string</type> </term> - <listitem> + <listitem> <para> - Tells whether or not to register the EGPCS (Environment, GET, - POST, Cookie, Server) variables as global variables. For example; - if register_globals = on, the url - <literal>http://www.example.com/test.php?id=3</literal> will produce - <varname>$id</varname>. Or, <varname>$DOCUMENT_ROOT</varname> from - <varname>$_SERVER['DOCUMENT_ROOT']</varname>. You may want to turn - this off if you don't want to clutter your scripts' global scope with - user data. As of PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink>, - this directive defaults to <emphasis>off</emphasis>. It's preferred to - go through PHP <link linkend="reserved.variables">Predefined Variables - </link> instead, such as the - <link linkend="language.variables.superglobals">superglobals</link>: - <varname>$_ENV</varname>, <varname>$_GET</varname>, - <varname>$_POST</varname>, <varname>$_COOKIE</varname>, and - <varname>$_SERVER</varname>. Please read the security chapter on - <link linkend="security.registerglobals">Using register_globals</link> - for related information. + In what directory PHP should look for dynamically loadable + extensions. See also: <link linkend="ini.enable-dl">enable_dl</link>, + and <function>dl</function>. </para> + </listitem> + </varlistentry> + + <varlistentry id="ini.extension"> + <term> + <parameter>extension</parameter> + <type>string</type> + </term> + <listitem> <para> - Please note that <systemitem role="directive">register_globals</systemitem> - cannot be set at runtime (<function>ini_set</function>). Although, you can - use <filename>.htaccess</filename> if your host allows it as described - above. An example <filename>.htaccess</filename> entry: - <userinput>php_flag register_globals on</userinput>. + Which dynamically loadable extensions to load when PHP starts + up. </para> - <note> - <para> - <systemitem role="directive">register_globals</systemitem> is affected - by the <link linkend="ini.variables-order">variables_order</link> - directive. - </para> - </note> </listitem> </varlistentry> - <varlistentry id="ini.short-open-tag"> + <varlistentry id="ini.cgi.force-redirect"> <term> - <parameter>short_open_tag</parameter> + <parameter>cgi.force_redirect</parameter> <type>boolean</type> </term> <listitem> <para> - Tells whether the short form (<userinput><? ?></userinput>) - of PHP's open tag should be allowed. If you want to use PHP in - combination with XML, you can disable this option in order to - use <userinput><?xml ?></userinput> inline. Otherwise, you - can print it with PHP, for example: <userinput><?php echo '<?xml - version="1.0"'; ?></userinput>. Also if disabled, you must use the - long form of the PHP open tag (<userinput><?php ?></userinput>). + cgi.force_redirect is necessary to provide security running PHP as a + CGI under most web servers. Left undefined, PHP turns this on by + default. You can turn it off <emphasis>AT YOUR OWN RISK</emphasis>. </para> <note> <para> - This directive also affects the shorthand <userinput><?=</userinput>, - which is identical to <userinput><? echo</userinput>. Use of this - shortcut requires <systemitem role="directive">short_open_tag</systemitem> - to be on. + Windows Users: You CAN safely turn this off for IIS, in fact, you MUST. + To get OmniHTTPD or Xitami to work you MUST turn it off. </para> </note> </listitem> </varlistentry> - <varlistentry id="ini.sql.safe-mode"> + <varlistentry id="ini.cgi.redirect-status-env"> <term> - <parameter>sql.safe_mode</parameter> - <type>boolean</type> + <parameter>cgi.cgi.redirect_status_env</parameter> + <type>string</type> </term> <listitem> <para> + If cgi.force_redirect is turned on, and you are not running under + Apache or Netscape (iPlanet) web servers, you MAY need to set an + environment variable name that PHP will look for to know it is OK + to continue execution. </para> + <note> + <para> + Setting this variable MAY cause security issues, + KNOW WHAT YOU ARE DOING FIRST. + </para> + </note> </listitem> </varlistentry> - <varlistentry id="ini.track-errors"> + <varlistentry id="fastcgi.impersonate"> <term> - <parameter>track_errors</parameter> - <type>boolean</type> + <parameter>fastcgi.impersonate</parameter> + <type>string</type> </term> <listitem> <para> - If enabled, the last error message will always be present in the - global variable <varname>$php_errormsg</varname>.</para> + FastCGI under IIS (on WINNT based OS) supports the ability to impersonate + security tokens of the calling client. This allows IIS to define the + security context that the request runs under. mod_fastcgi under Apache + does not currently support this feature (03/17/2002) + Set to 1 if running under IIS. Default is zero. + </para> </listitem> </varlistentry> + </variablelist> + </para> + </sect2> - <varlistentry id="ini.track-vars"> + <sect2 id="ini.sect.file_uploads"> + <title>File Uploads</title> + <para> + <table> + <title>File Uploads Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>file_uploads</entry> + <entry>"1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>upload_tmp_dir</entry> + <entry>NULL</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>upload_max_filesize</entry> + <entry>"2M"</entry> + <entry>PHP_INI_SYSTEM|PHP_INI_PERDIR</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.file-uploads"> <term> - <parameter>track_vars</parameter> + <parameter>file_uploads</parameter> <type>boolean</type> </term> <listitem> <para> - If enabled, then Environment, GET, POST, Cookie, and Server - variables can be found in the global associative arrays - <varname>$_ENV</varname>, - <varname>$_GET</varname>, - <varname>$_POST</varname>, - <varname>$_COOKIE</varname>, and - <varname>$_SERVER</varname>. - </para> - <para> - Note that as of PHP 4.0.3, <systemitem - role="directive">track_vars</systemitem> is always turned on. + Whether or not to allow HTTP + <link linkend="features.file-upload">file uploads</link>. See also + the + <link linkend="ini.upload-max-filesize">upload_max_filesize</link>, + <link linkend="ini.upload-tmp-dir">upload_tmp_dir</link>, and + <link linkend="ini.post-max-size">post_max_size</link> directives. </para> </listitem> </varlistentry> @@ -867,8 +1110,8 @@ <listitem> <para> The temporary directory used for storing files when doing - file upload. Must be writable by whatever user PHP is - running as. + file upload. Must be writable by whatever user <literal>PHP</literal> + is running as. If not specified PHP will use the system's default. </para> </listitem> </varlistentry> @@ -880,117 +1123,54 @@ </term> <listitem> <para> - The maximum size of an uploaded file. The value is - in bytes. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.user-dir"> - <term> - <parameter>user_dir</parameter> - <type>string</type> - </term> - <listitem> - <para> - The base name of the directory used on a user's home - directory for PHP files, for example - <literal>public_html</literal>. + The maximum size of an uploaded file. </para> </listitem> </varlistentry> + </variablelist> + </para> + </sect2> - <varlistentry id="ini.warn-plus-overloading"> + <sect2 id="ini.sql-general"> + <title>General SQL</title> + <para> + <table> + <title>General SQL Configuration Options</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> + <row> + <entry>sql.safe_mode</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.sql.safe-mode"> <term> - <parameter>warn_plus_overloading</parameter> + <parameter>sql.safe_mode</parameter> <type>boolean</type> </term> <listitem> <para> - If enabled, this option makes PHP output a warning when the - plus (<literal>+</literal>) operator is used on strings. - This is to make it easier to find scripts that need to be - rewritten to using the string concatenator instead - (<literal>.</literal>). </para> </listitem> </varlistentry> - </variablelist> </para> </sect2> - <sect2 id="ini.sect.safe-mode"> - <title>Safe Mode Configuration Directives</title> - <variablelist> - - <varlistentry id="ini.safe-mode"> - <term> - <parameter>safe_mode</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - Whether to enable PHP's safe mode. Read the - <link linkend="security">Security</link> and - <link linkend="features.safe-mode">Safe Mode</link> chapters for - more information. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.safe-mode-gid"> - <term> - <parameter>safe_mode_gid</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - Whether to use <literal>UID</literal> (&false;) or - <literal>GID</literal> (&true;) checking upon file - access. See <link linkend="features.safe-mode">Safe Mode</link> for - more information. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.safe-mode-exec-dir"> - <term> - <parameter>safe_mode_exec_dir</parameter> - <type>string</type> - </term> - <listitem> - <para> - If PHP is used in safe mode, <function>system</function> and - the other functions executing system programs refuse to start - programs that are not in this directory. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.safe-mode-include-dir"> - <term> - <parameter>safe_mode_include_dir</parameter> - <type>string</type> - </term> - <listitem> - <para> - <literal>UID</literal>/<literal>GID</literal> checks are bypassed when - including files from this directory and its subdirectories (directory - must also be in <link linkend="ini.include-path">include_path</link> - or full path must including). - </para> - <simpara> - As of PHP 4.2.0, this directive can take on a semi-colon separated - path in a similar fashion to the include_path directive, rather than - just a single directory. - </simpara> - </listitem> - </varlistentry> - - </variablelist> - </sect2> - <sect2 id="ini.sect.debugger"> <title>Debugger Configuration Directives</title> <variablelist> @@ -1031,154 +1211,6 @@ </listitem> </varlistentry> - </variablelist> - </sect2> - - <sect2 id="ini.sect.extension"> - <title>Extension Loading Directives</title> - <variablelist> - - <varlistentry id="ini.enable-dl"> - <term> - <parameter>enable_dl</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - This directive is really only useful in the Apache module - version of PHP. You can turn dynamic loading of PHP - extensions with <function>dl</function> on and off per - virtual server or per directory. - </para> - <para> - The main reason for turning dynamic loading off is - security. With dynamic loading, it's possible to ignore all - the safe_mode and open_basedir restrictions. - </para> - <para> - The default is to allow dynamic loading, except when using - safe-mode. In safe-mode, it's always imposible to use - <function>dl</function>. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.extension-dir"> - <term> - <parameter>extension_dir</parameter> - <type>string</type> - </term> - <listitem> - <para> - In what directory PHP should look for dynamically loadable - extensions. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.extension"> - <term> - <parameter>extension</parameter> - <type>string</type> - </term> - <listitem> - <para> - Which dynamically loadable extensions to load when PHP starts - up. - </para> - </listitem> - </varlistentry> - - </variablelist> - </sect2> - - <sect2 id="ini.sect.sesam"> - <title>SESAM Configuration Directives</title> - <variablelist> - - <varlistentry id="ini.sesam-oml"> - <term> - <parameter>sesam_oml</parameter> - <type>string</type> - </term> - <listitem> - <para> - Name of BS2000 PLAM library containing the loadable SESAM - driver modules. Required for using SESAM functions. The - BS2000 PLAM library must be set ACCESS=READ,SHARE=YES - because it must be readable by the apache server's user id. - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.sesam-configfile"> - <term> - <parameter>sesam_configfile</parameter> - <type>string</type> - </term> - <listitem> - <para> - Name of SESAM application configuration file. Required for - using SESAM functions. The BS2000 file must be readable by - the apache server's user id. - </para> - <para> - The application configuration file will usually contain a - configuration like (see SESAM - reference manual): - <informalexample> - <programlisting role="bs2000"> -<![CDATA[ -CNF=B -NAM=K -NOTYPE -]]> - </programlisting> - </informalexample> - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.sesam-messagecatalog"> - <term> - <parameter>sesam_messagecatalog</parameter> - <type>string</type> - </term> - <listitem> - <para> - Name of SESAM message catalog file. In most cases, this - directive is not neccessary. Only if the SESAM message file - is not installed in the system's BS2000 message file table, - it can be set with this directive. - </para> - <para> - The message catalog must be set ACCESS=READ,SHARE=YES because - it must be readable by the apache server's user id. - </para> - </listitem> - </varlistentry> - - </variablelist> - </sect2> - - - <sect2 id="ini.sect.browscap"> - <title>Browser Capability Configuration Directives</title> - <variablelist> - - <varlistentry id="ini.browscap"> - <term> - <parameter>browscap</parameter> - <type>string</type> - </term> - <listitem> - <para> - Name of browser capabilities file. See also - <function>get_browser</function>. - </para> - </listitem> - </varlistentry> - </variablelist> </sect2> Index: phpdoc/en/features/safe-mode.xml diff -u phpdoc/en/features/safe-mode.xml:1.25 phpdoc/en/features/safe-mode.xml:1.26 --- phpdoc/en/features/safe-mode.xml:1.25 Mon May 20 12:38:35 2002 +++ phpdoc/en/features/safe-mode.xml Sun Sep 29 20:09:43 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.25 $ --> +<!-- $Revision: 1.26 $ --> <chapter id="features.safe-mode"> <title>Safe Mode</title> @@ -10,69 +10,240 @@ server and OS levels aren't very realistic, many people, especially ISP's, use safe mode for now. </para> - <para> - <table> - <title>Configuration directives controlling safe mode are:</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Directive</entry> - <entry>Default value</entry> - </row> - </thead> - <tbody> + + <sect1 id="ini.sect.safe-mode"> + <title>Security and Safe Mode</title> + <para> + <table> + <title>Security and Safe Mode Configuration Directives</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Default</entry> + <entry>Changeable</entry> + </row> + </thead> + <tbody> <row> - <entry> - <link linkend="ini.safe-mode">safe_mode</link> - </entry> - <entry><literal>Off</literal></entry> + <entry>safe_mode</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.safe-mode-gid">safe_mode_gid</link> - </entry> - <entry><literal>0</literal></entry> + <entry>safe_mode_gid</entry> + <entry>"0"</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.safe-mode-include-dir">safe_mode_include_dir</link> - </entry> - <entry><literal>""</literal></entry> + <entry>safe_mode_include_dir</entry> + <entry>NULL</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link> - </entry> - <entry><literal>1</literal></entry> + <entry>safe_mode_exec_dir</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.open-basedir">open_basedir</link> - </entry> - <entry><literal>""</literal></entry> + <entry>safe_mode_allowed_env_vars</entry> + <entry>PHP_</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <literal>safe_mode_allowed_env_vars</literal> - </entry> - <entry><literal>PHP_</literal></entry> + <entry>safe_mode_protected_env_vars</entry> + <entry>LD_LIBRARY_PATH</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <literal>safe_mode_protected_env_vars</literal> - </entry> - <entry><literal>LD_LIBRARY_PATH</literal></entry> + <entry>open_basedir</entry> + <entry>NULL</entry> + <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <literal>disable_functions</literal> - </entry> - <entry><literal>""</literal></entry> + <entry>disable_functions</entry> + <entry>""</entry> + <entry>PHP_INI_SYSTEM</entry> </row> - </tbody> - </tgroup> - </table> - </para> + </tbody> + </tgroup> + </table> + For further details and definition of the PHP_INI_* constants see + <function>ini_set</function>. + </para> + <para> + Here is a short explanation of the configuration directives. + <variablelist> + <varlistentry id="ini.safe-mode"> + <term> + <parameter>safe_mode</parameter> + <type>boolean</type> + </term> + <listitem> + <para> + Whether to enable PHP's safe mode. Read the + <link linkend="security">Security</link> and chapter for more + information. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-gid"> + <term> + <parameter>safe_mode_gid</parameter> + <type>boolean</type> + </term> + <listitem> + <para> + By default, Safe Mode does a UID compare check when + opening files. If you want to relax this to a GID compare, + then turn on safe_mode_gid. + Whether to use <literal>UID</literal> (&false;) or + <literal>GID</literal> (&true;) checking upon file + access. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-include-dir"> + <term> + <parameter>safe_mode_include_dir</parameter> + <type>string</type> + </term> + <listitem> + <para> + <literal>UID</literal>/<literal>GID</literal> checks are bypassed when + including files from this directory and its subdirectories (directory + must also be in <link linkend="ini.include-path">include_path</link> + or full path must including). + </para> + <simpara> + As of PHP 4.2.0, this directive can take a semi-colon separated + path in a similar fashion to the + <link linkend="ini.include-path">include_path</link> directive, + rather than just a single directory. + </simpara> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-exec-dir"> + <term> + <parameter>safe_mode_exec_dir</parameter> + <type>string</type> + </term> + <listitem> + <para> + If PHP is used in safe mode, <function>system</function> and the other + <link linkend="ref.exec">functions executing system programs</link> + refuse to start programs that are not in this directory. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-allowed-env-vars"> + <term> + <parameter>safe_mode_allowed_env_vars</parameter> + <type>string</type> + </term> + <listitem> + <para> + Setting certain environment variables may be a potential security breach. + This directive contains a comma-delimited list of prefixes. In Safe Mode, + the user may only alter environment variables whose names begin with the + prefixes supplied here. By default, users will only be able to set + environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). + </para> + <note> + <para> + If this directive is empty, PHP will let the user modify ANY + environment variable! + </para> + </note> + </listitem> + </varlistentry> + <varlistentry id="ini.safe-mode-protected-env-vars"> + <term> + <parameter>safe_mode_protected_env_vars</parameter> + <type>string</type> + </term> + <listitem> + <para> + This directive contains a comma-delimited list of environment + variables that the end user won't be able to change using + <function>putenv</function>. These variables will be protected + even if safe_mode_allowed_env_vars is set to allow to change them. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.open-basedir"> + <term> + <parameter>open_basedir</parameter> + <type>string</type> + </term> + <listitem> + <para> + Limit the files that can be opened by PHP to the specified + directory-tree. This directive is <emphasis>NOT</emphasis> + affected by whether Safe Mode is turned On or Off. + </para> + <para> + When a script tries to open a file with, + for example, fopen or gzopen, the location of the file is + checked. When the file is outside the specified directory-tree, + PHP will refuse to open it. All symbolic links are resolved, + so it's not possible to avoid this restriction with a symlink. + </para> + <para> + The special value <systemitem class="constant">.</systemitem> + indicates that the directory in which the script is stored will + be used as base-directory. + </para> + <para> + Under Windows, separate the directories with a semicolon. On all + other systems, separate the directories with a colon. As an Apache + module, open_basedir paths from parent directories are now + automatically inherited. + </para> + <para> + The restriction specified with open_basedir is actually a + prefix, not a directory name. This means that "open_basedir = + /dir/incl" also allows access to "/dir/include" and + "/dir/incls" if they exist. When you want to restrict access + to only the specified directory, end with a slash. For example: + "open_basedir = /dir/incl/" + </para> + <note> + <para> + Support for multiple directories was added in 3.0.7. + </para> + </note> + <para> + The default is to allow all files to be opened. + </para> + </listitem> + </varlistentry> + <varlistentry id="ini.disable-functions"> + <term> + <parameter>disable_functions</parameter> + <type>string</type> + </term> + <listitem> + <simpara> + This directive allows you to disable certain functions for + <link linkend="security">security</link> reasons. It takes + on a comma-dilimited list of function names. disable_functions + is not affected by <link linkend="ini.safe-mode">Safe Mode</link>. + </simpara> + <simpara> + This directive must be set in &php.ini; For example, you + cannot set this in <filename>httpd.conf</filename>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + See also: <link linkend="ini.register-globals">register_globals</link>, + <link linkend="ini.display-errors">display_errors</link>, and + <link linkend="ini.log-errors">log_errors</link> + </para> + <para> When <link linkend="ini.safe-mode">safe_mode</link> is on, PHP checks to see if the owner of the current script matches the owner of the file to be @@ -149,6 +320,7 @@ ]]> </screen> </para> + </sect1> <sect1 id="features.safe-mode.functions"> <title>Functions restricted/disabled by safe mode</title> Index: phpdoc/en/reference/rsusi.txt diff -u phpdoc/en/reference/rsusi.txt:1.35 phpdoc/en/reference/rsusi.txt:1.36 --- phpdoc/en/reference/rsusi.txt:1.35 Thu Sep 26 17:59:42 2002 +++ phpdoc/en/reference/rsusi.txt Sun Sep 29 20:09:44 2002 @@ -43,12 +43,12 @@ dir domxml ++ dotnet ~ -errorfunc +errorfunc yes exec fbsql yes fdf filepro ~ -filesystem +filesystem yes fribidi ~ ftp funchand @@ -64,7 +64,7 @@ iisfunc image yes imap -info +info yes ingres-ii yes ircg java ++ yes @@ -79,7 +79,7 @@ mhash mime_magic yes ming ++ -misc ~ +misc ~ yes mnogosearch msession ~ msql ~ yes @@ -110,7 +110,7 @@ recode regex sem yes -sesam !no +sesam ++ yes session ++ yes shmop snmp @@ -121,7 +121,7 @@ tokenizer ~ yes uodbc yes url ~ -var ~ +var ~ yes vpopmail ~ w32api wddx Index: phpdoc/en/reference/errorfunc/reference.xml diff -u phpdoc/en/reference/errorfunc/reference.xml:1.4 phpdoc/en/reference/errorfunc/reference.xml:1.5 --- phpdoc/en/reference/errorfunc/reference.xml:1.4 Fri Aug 9 06:25:59 2002 +++ phpdoc/en/reference/errorfunc/reference.xml Sun Sep 29 20:09:44 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> +<!-- $Revision: 1.5 $ --> <reference id="ref.errorfunc"> <title>Error Handling and Logging Functions</title> <titleabbrev>Errors and Logging</titleabbrev> @@ -35,6 +35,8 @@ &reftitle.install; &no.install; </section> + + &reference.errorfunc.ini; &reference.errorfunc.constants; Index: phpdoc/en/reference/filesystem/reference.xml diff -u phpdoc/en/reference/filesystem/reference.xml:1.6 phpdoc/en/reference/filesystem/reference.xml:1.7 --- phpdoc/en/reference/filesystem/reference.xml:1.6 Thu Sep 26 10:32:51 2002 +++ phpdoc/en/reference/filesystem/reference.xml Sun Sep 29 20:09:45 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.6 $ --> +<!-- $Revision: 1.7 $ --> <reference id="ref.filesystem"> <title>Filesystem functions</title> <titleabbrev>Filesystem</titleabbrev> @@ -21,67 +21,12 @@ &no.install; </section> - <section id="filesystem.configuration"> - &reftitle.runtime; - &extension.runtime; - <para> - <table> - <title>Filesystem and Streams Configuration Options</title> - <tgroup cols="3"> - <thead> - <row> - <entry>Name</entry> - <entry>Default</entry> - <entry>Changeable</entry> - </row> - </thead> - <tbody> - <row> - <entry>auto_detect_line_endings</entry> - <entry>"Off"</entry> - <entry>PHP_INI_ALL</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <para> - Here is a short explanation of the configuration directives. - <variablelist> - <varlistentry id="ini.auto-detect-line-endings"> - <term> - <parameter>auto_detect_line_endings</parameter> - <type>boolean</type> - </term> - <listitem> - <para> - When turned on, PHP will examine the data read by - <function>fgets</function> and <function>file</function> to see if it - is using Unix, MS-Dos or Macintosh line-ending conventions. - </para> - <para>This enables PHP to to interoperate with Macintosh systems, - but defaults to Off, as there is a very small performance penalty - when detecting the EOL conventions for the first line, and also - because people using carriage-returns as item separators under - Unix systems would experience non-backwards-compatible behaviour. - </para> - <note> - <simpara> - This configuration option was introduced in PHP 4.3. - </simpara> - </note> - </listitem> - </varlistentry> - </variablelist> - </para> - - </section> + &reference.filesystem.ini; <section id="filesystem.resources"> &reftitle.resources; <para> </para> - </section> <section id="filesystem.constants"> Index: phpdoc/en/reference/info/reference.xml diff -u phpdoc/en/reference/info/reference.xml:1.5 phpdoc/en/reference/info/reference.xml:1.6 --- phpdoc/en/reference/info/reference.xml:1.5 Fri Aug 9 06:26:04 2002 +++ phpdoc/en/reference/info/reference.xml Sun Sep 29 20:09:45 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.5 $ --> +<!-- $Revision: 1.6 $ --> <reference id="ref.info"> <title>PHP Options&Information</title> <titleabbrev>PHP Options/Info</titleabbrev> @@ -26,10 +26,7 @@ &no.install; </section> - <section id="info.configuration"> - &reftitle.runtime; - &no.config; - </section> + &reference.info.ini; <section id="info.resources"> &reftitle.resources; Index: phpdoc/en/reference/misc/reference.xml diff -u phpdoc/en/reference/misc/reference.xml:1.4 phpdoc/en/reference/misc/reference.xml:1.5 --- phpdoc/en/reference/misc/reference.xml:1.4 Fri Aug 9 06:26:06 2002 +++ phpdoc/en/reference/misc/reference.xml Sun Sep 29 20:09:46 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> +<!-- $Revision: 1.5 $ --> <reference id="ref.misc"> <title>Miscellaneous functions</title> <titleabbrev>Misc.</titleabbrev> @@ -24,10 +24,7 @@ &no.install; </section> - <section id="misc.configuration"> - &reftitle.runtime; - &no.config; - </section> + &reference.misc.ini; <section id="misc.resources"> &reftitle.resources; Index: phpdoc/en/reference/outcontrol/ini.xml diff -u phpdoc/en/reference/outcontrol/ini.xml:1.1 phpdoc/en/reference/outcontrol/ini.xml:1.2 --- phpdoc/en/reference/outcontrol/ini.xml:1.1 Mon Sep 16 16:46:37 2002 +++ phpdoc/en/reference/outcontrol/ini.xml Sun Sep 29 20:09:46 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <section id="outcontrol.configuration"> &reftitle.runtime; &extension.runtime; @@ -26,9 +26,7 @@ <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.implicit-flush">implicit_flush</link> - </entry> + <entry>implicit_flush</entry> <entry>"0"</entry> <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> </row> @@ -72,11 +70,37 @@ <note> <para> You cannot use both <function>mb_output_handler</function> with - <function>ob_inconv_handler</function> and you cannot use both + <function>ob_inconv_handler</function> and you cannot use both <function>ob_gzhandler</function> and <link linkend="ini.zlib.output-compression">zlib.output_compression</link>. </para> </note> + </listitem> + </varlistentry> + + <varlistentry id="ini.implicit-flush"> + <term> + <parameter>implicit_flush</parameter> + <type>boolean</type> + </term> + <listitem> + <para> + &false; by default. Changing this to &true; tells PHP to tell the + output layer to flush itself automatically after every output block. + This is equivalent to calling the <literal>PHP</literal> function + <function>flush</function> after each and every call to + <function>print</function> or <function>echo</function> and each and + every <literal>HTML</literal> block. + </para> + <para> + When using <literal>PHP</literal> within an web environment, turning + this option on has serious performance implications and is generally + recommended for debugging purposes only. This value defaults to + &true; when operating under the <literal>CLI SAPI</literal>. + </para> + <para> + See also <function>ob_implicit_flush</function>. + </para> </listitem> </varlistentry> </variablelist> Index: phpdoc/en/reference/sesam/reference.xml diff -u phpdoc/en/reference/sesam/reference.xml:1.3 phpdoc/en/reference/sesam/reference.xml:1.4 --- phpdoc/en/reference/sesam/reference.xml:1.3 Fri Aug 9 06:26:11 2002 +++ phpdoc/en/reference/sesam/reference.xml Sun Sep 29 20:09:46 2002 @@ -1,215 +1,56 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.3 $ --> +<!-- $Revision: 1.4 $ --> <reference id="ref.sesam"> <title>SESAM database functions</title> <titleabbrev>SESAM</titleabbrev> <partintro> - <para> - SESAM/SQL-Server is a mainframe database system, developed by - Fujitsu Siemens Computers, Germany. It runs on high-end mainframe - servers using the operating system BS2000/OSD. - </para> - <para> - In numerous productive BS2000 installations, SESAM/SQL-Server has - proven ... - <itemizedlist> - <listitem> - <simpara> - the ease of use of Java-, Web- and client/server connectivity, - </simpara> - </listitem> - <listitem> - <simpara> - the capability to work with an availability of more than - 99.99%, - </simpara> - </listitem> - <listitem> - <simpara> - the ability to manage tens and even hundreds of thousands of - users. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Now there is a PHP3 SESAM interface available which allows - database operations via PHP-scripts. - </para> - <note> - <title>Configuration notes</title> + <section id="sesam.intro"> + &reftitle.intro; <para> - There is no standalone support for the PHP SESAM interface, it - works only as an integrated Apache module. In the Apache PHP - module, this <link linkend="ini.sect.sesam">SESAM interface is - configured</link> using Apache directives. - <table> - <title>SESAM Configuration directives</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Directive</entry> - <entry>Meaning</entry> - </row> - </thead> - <tbody> - <row> - <entry><literal>php3_sesam_oml</literal></entry> - <entry> - Name of BS2000 PLAM library containing the loadable SESAM - driver modules. Required for using SESAM functions. - <para> - Example: - <informalexample> - <programlisting role="apache"> -<![CDATA[ -php3_sesam_oml $.SYSLNK.SESAM-SQL.030 -]]> - </programlisting> - </informalexample> - </para> - </entry> - </row> - <row> - <entry><literal>php3_sesam_configfile</literal></entry> - <entry> - Name of SESAM application configuration file. Required for - using SESAM functions. - <para> - Example: - <informalexample> - <programlisting role="apache"> -<![CDATA[ -php3_sesam_configfile $SESAM.SESAM.CONF.AW -]]> - </programlisting> - </informalexample> - It will usually contain a configuration like (see SESAM - reference manual): - <informalexample> - <programlisting role="bs2000"> -<![CDATA[ -CNF=B -NAM=K -NOTYPE -]]> - </programlisting> - </informalexample> - </para> - </entry> - </row> - <row> - <entry><literal>php3_sesam_messagecatalog</literal></entry> - <entry> - Name of SESAM message catalog file. In most cases, this - directive is not neccessary. Only if the SESAM message file - is not installed in the system's BS2000 message file table, - it can be set with this directive. - <para> - Example: - <informalexample> - <programlisting role="apache"> -<![CDATA[ -php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 -]]> - </programlisting> - </informalexample> - </para> - </entry> - </row> - </tbody> - </tgroup> - </table> + SESAM/SQL-Server is a mainframe database system, developed by + Fujitsu Siemens Computers, Germany. It runs on high-end mainframe + servers using the operating system BS2000/OSD. </para> <para> - In addition to the configuration of the PHP/SESAM interface, you - have to configure the SESAM-Database server itself on your - mainframe as usual. That means: + In numerous productive BS2000 installations, SESAM/SQL-Server has + proven <itemizedlist> <listitem> <simpara> - starting the SESAM database handler (DBH), and + the ease of use of Java-, Web- and client/server connectivity, </simpara> </listitem> <listitem> <simpara> - connecting the databases with the SESAM database handler + the capability to work with an availability of more than + 99.99%, </simpara> </listitem> - </itemizedlist> + <listitem> + <simpara> + the ability to manage tens and even hundreds of thousands of + users. + </simpara> + </listitem> + </itemizedlist> </para> <para> - To get a connection between a PHP script and the database - handler, the <literal>CNF</literal> and <literal>NAM</literal> - parameters of the selected SESAM configuration file must match - the id of the started database handler. - </para> - <para> - In case of distributed databases you have to start a - SESAM/SQL-DCN agent with the distribution table including the - host and database names. - </para> - <para> - The communication between PHP (running in the POSIX subsystem) - and the database handler (running outside the POSIX subsystem) is - realized by a special driver module called SQLSCI and SESAM - connection modules using common memory. Because of the common - memory access, and because PHP is a static part of the web - server, database accesses are very fast, as they do not require - remote accesses via ODBC, JDBC or UTM. - </para> - <para> - Only a small stub loader (SESMOD) is linked with PHP, and the - SESAM connection modules are pulled in from SESAM's OML PLAM - library. In the <link - linkend="ini.sect.sesam">configuration</link>, you must tell PHP - the name of this PLAM library, and the file link to use for the - SESAM configuration file (As of SESAM V3.0, SQLSCI is available - in the SESAM Tool Library, which is part of the standard - distribution). - </para> - <para> - Because the SQL command quoting for single quotes uses duplicated - single quotes (as opposed to a single quote preceded by a - backslash, used in some other databases), it is advisable to set - the PHP configuration directives <link - linkend="ini.magic-quotes-gpc"><literal>php3_magic_quotes_gpc</literal></link> - and <link - linkend="ini.magic-quotes-sybase"><literal>php3_magic_quotes_sybase</literal></link> - to <literal>On</literal> for all PHP scripts using the SESAM - interface. - </para> - </note> - <note> - <title>Runtime considerations</title> - <para> - Because of limitations of the BS2000 process model, the driver - can be loaded only after the Apache server has forked off its - server child processes. This will slightly slow down the initial - SESAM request of each child, but subsequent accesses will respond - at full speed. - </para> - <para> - When explicitly defining a Message Catalog for SESAM, that - catalog will be loaded each time the driver is loaded (i.e., at - the initial SESAM request). The BS2000 operating system prints a - message after successful load of the message catalog, which will - be sent to Apache's error_log file. BS2000 currently does not - allow suppression of this message, it will slowly fill up the - log. - </para> - <para> - Make sure that the SESAM OML PLAM library and SESAM configuration - file are readable by the user id running the web server. - Otherwise, the server will be unable to load the driver, and will - not allow to call any SESAM functions. Also, access to the - database must be granted to the user id under which the Apache - server is running. Otherwise, connections to the SESAM database - handler will fail. + There is a <literal>PHP3</literal> SESAM interface available which allows + database operations via PHP-scripts. </para> - </note> - <note> + <note> + <simpara> + Access to SESAM is only available with the latest CVS-Version of + <literal>PHP3</literal>. <literal>PHP 4</literal> does not support the + SESAM database. + </simpara> + </note> + </section> + + &reference.sesam.ini; + + <section id="sesam.cursor-types"> <title>Cursor Types</title> <para> The result cursors which are allocated for SQL "select type" @@ -274,11 +115,10 @@ </tgroup> </table> </para> - </note> - <note> - <title> - Porting note - </title> + </section> + + <section id="sesam.porting-note"> + <title>Porting note</title> <para> Because in the PHP world it is natural to start indexes at zero (rather than 1), some adaptions have been made to the SESAM @@ -293,8 +133,9 @@ description of the respective php sesam functions include a note that the index is zero based. </para> - </note> - <note> + </section> + + <section id="sesam.security"> <title>Security concerns</title> <para> When allowing access to the SESAM databases, the web server user @@ -306,8 +147,9 @@ administer the database by using password control and/or SSL security. </para> - </note> - <note> + </section> + + <section id="sesam.migration"> <title>Migration from other SQL databases</title> <para> No two SQL dialects are ever 100% compatible. When porting @@ -403,8 +245,9 @@ </listitem> </itemizedlist> </para> - </note> - <note> + </section> + + <section id="sesam.sql-types"> <title> Notes on the use of various SQL types </title> @@ -452,8 +295,9 @@ appearance of empty fields (than in the case of an empty string as the representation of an empty field). </para> - </note> - <note> + </section> + + <section id="sesam.multiple-fields"> <title>Support of SESAM's "multiple fields" feature</title> <para> The special "multiple fields" feature of SESAM allows a column to @@ -491,14 +335,19 @@ will have the index 0, and the three "multi(1..3)" columns will be accessible as indices 1 through 3. </para> - </note> - <para> - For specific SESAM details, please refer to <ulink - url="&url.sesam.en;">the SESAM/SQL-Server documentation - (english)</ulink> or <ulink url="&url.sesam.de;">the - SESAM/SQL-Server documentation (german)</ulink>, both available - online, or use the respective manuals. + </section> + + <section id="sesam.seealso"> + &reftitle.seealso; + <para> + For specific SESAM details, please refer to <ulink + url="&url.sesam.en;">the SESAM/SQL-Server documentation + (english)</ulink> or <ulink url="&url.sesam.de;">the + SESAM/SQL-Server documentation (german)</ulink>, both available + online, or use the respective manuals. </para> + </section> + </partintro> &reference.sesam.functions; Index: phpdoc/en/reference/sybase/ini.xml diff -u phpdoc/en/reference/sybase/ini.xml:1.1 phpdoc/en/reference/sybase/ini.xml:1.2 --- phpdoc/en/reference/sybase/ini.xml:1.1 Sun Sep 15 11:24:38 2002 +++ phpdoc/en/reference/sybase/ini.xml Sun Sep 29 20:09:46 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <section id="sybase.configuration"> &reftitle.runtime; &extension.runtime; @@ -51,9 +51,7 @@ <entry>PHP_INI_SYSTEM</entry> </row> <row> - <entry> - <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link> - </entry> + <entry>magic_quotes_sybase</entry> <entry>"Off"</entry> <entry>PHP_INI_ALL</entry> </row> @@ -143,8 +141,24 @@ </listitem> </varlistentry> + <varlistentry id="ini.magic-quotes-sybase"> + <term> + <parameter>magic_quotes_sybase</parameter> + <type>boolean</type> + </term> + <listitem> + <para> + If <parameter>magic_quotes_sybase</parameter> is also on, a + single-quote is escaped with a single-quote instead of a + backslash if <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> + or <link linkend="magic-quotes-runtime">magic_quotes_runtime</link> is enabled. + </para> + </listitem> + </varlistentry> + </variablelist> </para> + <para> <table> <title>Sybase-CT configuration options</title> Index: phpdoc/en/reference/var/reference.xml diff -u phpdoc/en/reference/var/reference.xml:1.4 phpdoc/en/reference/var/reference.xml:1.5 --- phpdoc/en/reference/var/reference.xml:1.4 Fri Aug 9 06:26:12 2002 +++ phpdoc/en/reference/var/reference.xml Sun Sep 29 20:09:47 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> +<!-- $Revision: 1.5 $ --> <reference id="ref.variables"> <title>Variable Functions</title> <titleabbrev>Variables</titleabbrev> @@ -24,10 +24,7 @@ &no.install; </section> - <section id="variables.configuration"> - &reftitle.runtime; - &no.config; - </section> + &reference.var.ini; <section id="variables.resources"> &reftitle.resources; Index: phpdoc/en/reference/errorfunc/ini.xml +++ phpdoc/en/reference/errorfunc/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="errorfunc.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title> Errors and Logging Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>error_reporting</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>display_errors</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>display_startup_errors</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>log_errors</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>log_errors_max_len</entry> <entry>"1024"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>ignore_repeated_errors</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>ignore_repeated_source</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>report_memleaks</entry> <entry>"1"</entry> <entry>PHP_INI_SYSTEM</entry> </row> <row> <entry>track_errors</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>html_errors</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>docref_root</entry> <entry>"http://www.php.net/"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>docref_ext</entry> <entry>".html"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>error_prepend_string</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>error_append_string</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>error_log</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>warn_plus_overloading</entry> <entry>NULL</entry> <entry>PHP_INI??</entry> </row> </tbody> </tgroup> </table> For further details and definition of the PHP_INI_* constants see <function>ini_set</function>. </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="ini.error-reporting"> <term> <parameter>error_reporting</parameter> <type>integer</type> </term> <listitem> <para> Set the error reporting level. The parameter is either an integer representing a bit field, or named constants. The error_reporting levels and constants are described in <link linkend="errorfunc.constants">Predefined Constants</link> , and in &php.ini;. To set at runtime, use the <function>error_reporting</function> function. See also the <link linkend="ini.display-errors">display_errors</link> directive. </para> <para> The default value does not show <constant>E_NOTICE</constant> level errors. You may want to show them during development. </para> </listitem> </varlistentry> <varlistentry id="ini.display-errors"> <term> <parameter>display_errors</parameter> <type>boolean</type> </term> <listitem> <para> This determines whether errors should be printed to the screen as part of the HTML output or not. </para> </listitem> </varlistentry> <varlistentry id="ini.display-startup-errors"> <term> <parameter>display_startup_errors</parameter> <type>boolean</type> </term> <listitem> <para> Even when display_errors is on, errors that occur during PHP's startup sequence are not displayed. It's strongly recommended to keep display_startup_errors off, except for debugging. </para> </listitem> </varlistentry> <varlistentry id="ini.log-errors"> <term> <parameter>log_errors</parameter> <type>boolean</type> </term> <listitem> <para> Tells whether script error messages should be logged to the server's error log or <link linkend="ini.error_log">error_log</link>. This option is thus server-specific. </para> <note> <para> You're strongly advised to use error logging in place of error displaying on production web sites. </para> </note> </listitem> </varlistentry> <varlistentry id="ini.log-errors-max-len"> <term> <parameter>log_errors_max_len</parameter> <type>integer</type> </term> <listitem> <para> Set the maximum length of log_errors in kbytes. In <link linkend="ini.error-log">error_log</link> information about the source is added. The default is 1024 and 0 allows to not apply any maximum length at all. </para> </listitem> </varlistentry> <varlistentry id="ini.ignore-repeated-errors"> <term> <parameter>ignore_repeated_errors</parameter> <type>boolean</type> </term> <listitem> <para> Do not log repeated messages. Repeated errors must occur in the same file on the same line until <link linkend="ini.ignore-repeated-source">ignore_repeated_source</link> is set true. </para> </listitem> </varlistentry> <varlistentry id="ini.ignore-repeated-source"> <term> <parameter>ignore_repeated_source</parameter> <type>boolean</type> </term> <listitem> <para> Ignore source of message when ignoring repeated messages. When this setting is On you will not log errors with repeated messages from different files or sourcelines. </para> </listitem> </varlistentry> <varlistentry id="ini.report-memleaks"> <term> <parameter>report_memleaks</parameter> <type>boolean</type> </term> <listitem> <para> If this parameter is set to Off, then memory leaks will not be shown (on stdout or in the log). This has only effect in a debug compile, and if <link linkend="ini.error-reporting">error_reporting</link> includes E_WARNING in the allowed list </para> </listitem> </varlistentry> <varlistentry id="ini.track-errors"> <term> <parameter>track_errors</parameter> <type>boolean</type> </term> <listitem> <para> If enabled, the last error message will always be present in the global variable <varname>$php_errormsg</varname>.</para> </listitem> </varlistentry> <varlistentry id="ini.html-errors"> <term> <parameter>html_errors</parameter> <type>boolean</type> </term> <listitem> <para> Turn off HTML tags in error messages. The new format for html errors produces clickable messages that direct the user to a page describing the error or function in causing the error. These references are affected by <link linkend="ini.docref-root">docref_root</link> and <link linkend="ini.docref-ext">docref_ext</link>. </para> </listitem> </varlistentry> <varlistentry id="ini.docref-root"> <term> <parameter>docref_root</parameter> <type>string</type> </term> <listitem> <para> The new error format contains a reference to a page describing the error or function in causing the error. In case of manual pages you can download the manual in your language and set this ini directive to the url of your local copy. If your local copy of the manual can be reached by '/manual/' you can simply use <userinput>docref_root=/manual/</userinput>. Additional you have to set docref_ext to match the fileextensions of your copy <userinput>docref_ext=.html</userinput>. It is possible to use external references. For example you can use <userinput>docref_root=http://manual/en/</userinput>. </para> <note> <para> The value of docref_root must end with a slash '/'. </para> </note> </listitem> </varlistentry> <varlistentry id="ini.docref-ext"> <term> <parameter>docref_ext</parameter> <type>string</type> </term> <listitem> <para> See <link linkend="ini.docref-root">docref_root</link>. </para> <note> <para> The value of docref_ext must begin with a dot '.'. </para> </note> </listitem> </varlistentry> <varlistentry id="ini.error-prepend-string"> <term> <parameter>error_prepend_string</parameter> <type>string</type> </term> <listitem> <para> String to output before an error message. </para> </listitem> </varlistentry> <varlistentry id="ini.error-append-string"> <term> <parameter>error_append_string</parameter> <type>string</type> </term> <listitem> <para> String to output after an error message. </para> </listitem> </varlistentry> <varlistentry id="ini.error-log"> <term> <parameter>error_log</parameter> <type>string</type> </term> <listitem> <para> Name of the file where script errors should be logged. If the special value <literal>syslog</literal> is used, the errors are sent to the system logger instead. On UNIX, this means syslog(3) and on Windows NT it means the event log. The system logger is not supported on Windows 95. See also: <function>syslog</function>. </para> </listitem> </varlistentry> <varlistentry id="ini.warn-plus-overloading"> <term> <parameter>warn_plus_overloading</parameter> <type>boolean</type> </term> <listitem> <para> If enabled, this option makes PHP output a warning when the plus (<literal>+</literal>) operator is used on strings. This is to make it easier to find scripts that need to be rewritten to using the string concatenator instead (<literal>.</literal>). </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:"../../../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 --> Index: phpdoc/en/reference/filesystem/ini.xml +++ phpdoc/en/reference/filesystem/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="filesystem.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title>Filesystem and Streams Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>allow_url_fopen</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>user_agent</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>default_socket_timeout</entry> <entry>"60"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>from</entry> <entry>NULL</entry> <entry>??</entry> </row> <row> <entry>auto_detect_line_endings</entry> <entry>"Off"</entry> <entry>PHP_INI_ALL</entry> </row> </tbody> </tgroup> </table> </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="ini.allow-url-fopen"> <term> <parameter>allow_url_fopen</parameter> <type>boolean</type> </term> <listitem> <para> This option enables the URL-aware fopen wrappers that enable accessing URL object like files. Default wrappers are provided for the access of <link linkend="features.remote-files">remote files</link> using the ftp or http protocol, some extensions like <link linkend="ref.zlib">zlib</link> may register additional wrappers. </para> <note> <para> This option was introduced immediately after the release of version 4.0.3. For versions up to and including 4.0.3 you can only disable this feature at compile time by using the configuration switch <link linkend="install.configure.disable-url-fopen-wrapper"><parameter> --disable-url-fopen-wrapper</parameter></link>. </para> </note> <warning> <para> On Windows versions prior to PHP 4.3, the following functions do not support remote file accesing: <function>include</function>, <function>include_once</function>, <function>require</function>, <function>require_once</function> and the imagecreatefromXXX functions in the <xref linkend="ref.image"/> extension. </para> </warning> </listitem> </varlistentry> <varlistentry id="ini.user-agent"> <term> <parameter>user_agent</parameter> <type>string</type> </term> <listitem> <para> Define the user agent for <literal>PHP</literal> to send. </para> </listitem> </varlistentry> <varlistentry id="ini.default-socket-timeout"> <term> <parameter>default_socket_timeout</parameter> <type>integer</type> </term> <listitem> <para> Default timeout (in seconds) for socket based streams. </para> <note> <simpara> This configuration option was introduced in PHP 4.3. </simpara> </note> </listitem> </varlistentry> <varlistentry id="ini.from"> <term> <parameter>from="joe@example.com"</parameter> <type>string</type> </term> <listitem> <para> Define the anonymous ftp password (your email address). </para> </listitem> </varlistentry> <varlistentry id="ini.auto-detect-line-endings"> <term> <parameter>auto_detect_line_endings</parameter> <type>boolean</type> </term> <listitem> <para> When turned on, PHP will examine the data read by <function>fgets</function> and <function>file</function> to see if it is using Unix, MS-Dos or Macintosh line-ending conventions. </para> <para>This enables PHP to to interoperate with Macintosh systems, but defaults to Off, as there is a very small performance penalty when detecting the EOL conventions for the first line, and also because people using carriage-returns as item separators under Unix systems would experience non-backwards-compatible behaviour. </para> <note> <simpara> This configuration option was introduced in PHP 4.3. </simpara> </note> </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:"../../../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 --> Index: phpdoc/en/reference/info/ini.xml +++ phpdoc/en/reference/info/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="info.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title>PHP Options/Inf Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>assert.active</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>assert.bail</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>assert.warning</entry> <entry>"1"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>assert.callback</entry> <entry>NULL</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>assert.quiet_eval</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>enable_dl</entry> <entry>"1"</entry> <entry>PHP_INI_SYSTEM</entry> </row> <row> <entry>max_execution_time</entry> <entry>"30"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>magic_quotes_gpc</entry> <entry>"1"</entry> <entry>PHP_INI_PERDIR|PHP_INI_SYSTEM</entry> </row> <row> <entry>magic_quotes_runtime</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> </tbody> </tgroup> </table> For further details and definition of the PHP_INI_* constants see <function>ini_set</function>. </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="ini.assert.active"> <term> <parameter>assert.active</parameter> <type>boolean</type> </term> <listitem> <para> Enable <function>assert</function> evaluation. </para> </listitem> </varlistentry> <varlistentry id="ini.assert.bail"> <term> <parameter>assert.bail</parameter> <type>boolean</type> </term> <listitem> <para> Terminate script execution on failed assertions. </para> </listitem> </varlistentry> <varlistentry id="ini.assert.warning"> <term> <parameter>assert.warning</parameter> <type>boolean</type> </term> <listitem> <para> Issue a <literal>PHP</literal> warning for each failed assertion. </para> </listitem> </varlistentry> <varlistentry id="ini.assert.callback"> <term> <parameter>assert.callback</parameter> <type>string</type> </term> <listitem> <para> user function to call on failed assertions </para> </listitem> </varlistentry> <varlistentry id="ini.assert.quiet-eval"> <term> <parameter>assert.quiet_eval</parameter> <type>boolean</type> </term> <listitem> <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 id="ini.enable-dl"> <term> <parameter>enable_dl</parameter> <type>boolean</type> </term> <listitem> <para> This directive is really only useful in the Apache module version of PHP. You can turn dynamic loading of PHP extensions with <function>dl</function> on and off per virtual server or per directory. </para> <para> The main reason for turning dynamic loading off is security. With dynamic loading, it's possible to ignore all the <link linkend="ini.safe-mode">safe_mode</link> and <link linkend="ini.open-basedir">open_basedir</link> restrictions. </para> <para> The default is to allow dynamic loading, except when using safe-mode. In safe-mode, it's always imposible to use <function>dl</function>. </para> </listitem> </varlistentry> <varlistentry id="ini.max-execution-time"> <term> <parameter>max_execution_time</parameter> <type>integer</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>. </para> <para> The maximum execution time is not affected by system calls, the <function>sleep</function> function, etc. Please see the <function>set_time_limit</function> function for more details. </para> </listitem> </varlistentry> <varlistentry id="ini.magic-quotes-gpc"> <term> <parameter>magic_quotes_gpc</parameter> <type>boolean</type> </term> <listitem> <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. If magic_quotes_sybase is also on, a single-quote is escaped with a single-quote instead of a backslash. </para> </listitem> </varlistentry> <varlistentry id="ini.magic-quotes-runtime"> <term> <parameter>magic_quotes_runtime</parameter> <type>boolean</type> </term> <listitem> <para> If <parameter>magic_quotes_runtime</parameter> 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 <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link> is also on, a single-quote is escaped with a single-quote instead of a backslash. </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:"../../../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 --> Index: phpdoc/en/reference/misc/ini.xml +++ phpdoc/en/reference/misc/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="misc.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title> Misc. Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>ignore_user_abort</entry> <entry>"0"</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.string</entry> <entry>#CC0000</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.comment</entry> <entry>#FF9900</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.keyword</entry> <entry>#006600</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.bg</entry> <entry>#FFFFFF</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.default</entry> <entry>#0000CC</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>highlight.html</entry> <entry>#000000</entry> <entry>PHP_INI_ALL</entry> </row> <row> <entry>browscap</entry> <entry>NULL</entry> <entry>PHP_INI_SYSTEM</entry> </row> </tbody> </tgroup> </table> For further details and definition of the PHP_INI_* constants see <function>ini_set</function>. </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="ini.ignore-user-abort"> <term> <parameter>ignore_user_abort</parameter> <type>boolean</type> </term> <listitem> <para> &true; by default. If changed to &false; scripts will be terminated as soon as they try to output something after a client has aborted their connection. </para> <para> See also <function>ignore_user_abort</function>. </para> </listitem> </varlistentry> <varlistentry id="ini.syntax-highlighting"> <term> <parameter>highlight.xxx</parameter> <type>string</type> </term> <listitem> <para> Colors for Syntax Highlighting mode. Anything that's acceptable in <font color="??????"> would work. </para> </listitem> </varlistentry> <varlistentry id="ini.browscap"> <term> <parameter>browscap</parameter> <type>string</type> </term> <listitem> <para> Name (e.g.: <filename>browscap.ini</filename>)and location of browser capabilities file. See also <function>get_browser</function>. </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:"../../../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 --> Index: phpdoc/en/reference/sesam/ini.xml +++ phpdoc/en/reference/sesam/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="sesam.configuration"> &reftitle.runtime; &extension.runtime; <variablelist> <varlistentry id="ini.sesam-oml"> <term> <parameter>sesam_oml</parameter> <type>string</type> </term> <listitem> <para> Name of BS2000 PLAM library containing the loadable SESAM driver modules. Required for using SESAM functions. The BS2000 PLAM library must be set ACCESS=READ,SHARE=YES because it must be readable by the apache server's user id. </para> </listitem> </varlistentry> <varlistentry id="ini.sesam-configfile"> <term> <parameter>sesam_configfile</parameter> <type>string</type> </term> <listitem> <para> Name of SESAM application configuration file. Required for using SESAM functions. The BS2000 file must be readable by the apache server's user id. </para> <para> The application configuration file will usually contain a configuration like (see SESAM reference manual): <informalexample> <programlisting role="bs2000"> <![CDATA[ CNF=B NAM=K NOTYPE ]]> </programlisting> </informalexample> </para> </listitem> </varlistentry> <varlistentry id="ini.sesam-messagecatalog"> <term> <parameter>sesam_messagecatalog</parameter> <type>string</type> </term> <listitem> <para> Name of SESAM message catalog file. In most cases, this directive is not neccessary. Only if the SESAM message file is not installed in the system's BS2000 message file table, it can be set with this directive. </para> <para> The message catalog must be set ACCESS=READ,SHARE=YES because it must be readable by the apache server's user id. </para> </listitem> </varlistentry> </variablelist> </section> <section id="sesam.config-notes"> <title>Configuration notes</title> <para> There is no standalone support for the PHP SESAM interface, it works only as an integrated Apache module. In the Apache PHP module, this <link linkend="sesam.configuration">SESAM interface is configured</link> using Apache directives. <table> <title>SESAM Configuration directives</title> <tgroup cols="2"> <thead> <row> <entry>Directive</entry> <entry>Meaning</entry> </row> </thead> <tbody> <row> <entry><literal>php3_sesam_oml</literal></entry> <entry> Name of BS2000 PLAM library containing the loadable SESAM driver modules. Required for using SESAM functions. <para> Example: <informalexample> <programlisting role="apache"> <![CDATA[ php3_sesam_oml $.SYSLNK.SESAM-SQL.030 ]]> </programlisting> </informalexample> </para> </entry> </row> <row> <entry><literal>php3_sesam_configfile</literal></entry> <entry> Name of SESAM application configuration file. Required for using SESAM functions. <para> Example: <informalexample> <programlisting role="apache"> <![CDATA[ php3_sesam_configfile $SESAM.SESAM.CONF.AW ]]> </programlisting> </informalexample> It will usually contain a configuration like (see SESAM reference manual): <informalexample> <programlisting role="bs2000"> <![CDATA[ CNF=B NAM=K NOTYPE ]]> </programlisting> </informalexample> </para> </entry> </row> <row> <entry><literal>php3_sesam_messagecatalog</literal></entry> <entry> Name of SESAM message catalog file. In most cases, this directive is not neccessary. Only if the SESAM message file is not installed in the system's BS2000 message file table, it can be set with this directive. <para> Example: <informalexample> <programlisting role="apache"> <![CDATA[ php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 ]]> </programlisting> </informalexample> </para> </entry> </row> </tbody> </tgroup> </table> </para> <para> In addition to the configuration of the PHP/SESAM interface, you have to configure the SESAM-Database server itself on your mainframe as usual. That means: <itemizedlist> <listitem> <simpara> starting the SESAM database handler (DBH), and </simpara> </listitem> <listitem> <simpara> connecting the databases with the SESAM database handler </simpara> </listitem> </itemizedlist> </para> <para> To get a connection between a PHP script and the database handler, the <literal>CNF</literal> and <literal>NAM</literal> parameters of the selected SESAM configuration file must match the id of the started database handler. </para> <para> In case of distributed databases you have to start a SESAM/SQL-DCN agent with the distribution table including the host and database names. </para> <para> The communication between PHP (running in the POSIX subsystem) and the database handler (running outside the POSIX subsystem) is realized by a special driver module called SQLSCI and SESAM connection modules using common memory. Because of the common memory access, and because PHP is a static part of the web server, database accesses are very fast, as they do not require remote accesses via ODBC, JDBC or UTM. </para> <para> Only a small stub loader (SESMOD) is linked with PHP, and the SESAM connection modules are pulled in from SESAM's OML PLAM library. In the <link linkend="sesam.configuration">configuration</link>, you must tell PHP the name of this PLAM library, and the file link to use for the SESAM configuration file (As of SESAM V3.0, SQLSCI is available in the SESAM Tool Library, which is part of the standard distribution). </para> <para> Because the SQL command quoting for single quotes uses duplicated single quotes (as opposed to a single quote preceded by a backslash, used in some other databases), it is advisable to set the PHP configuration directives <link linkend="ini.magic-quotes-gpc"><literal>php3_magic_quotes_gpc</literal></link> and <link linkend="ini.magic-quotes-sybase"><literal>php3_magic_quotes_sybase</literal></link> to <literal>On</literal> for all PHP scripts using the SESAM interface. </para> </section> <section id="sesam.runtime"> <title>Runtime considerations</title> <para> Because of limitations of the BS2000 process model, the driver can be loaded only after the Apache server has forked off its server child processes. This will slightly slow down the initial SESAM request of each child, but subsequent accesses will respond at full speed. </para> <para> When explicitly defining a Message Catalog for SESAM, that catalog will be loaded each time the driver is loaded (i.e., at the initial SESAM request). The BS2000 operating system prints a message after successful load of the message catalog, which will be sent to Apache's error_log file. BS2000 currently does not allow suppression of this message, it will slowly fill up the log. </para> <para> Make sure that the SESAM OML PLAM library and SESAM configuration file are readable by the user id running the web server. Otherwise, the server will be unable to load the driver, and will not allow to call any SESAM functions. Also, access to the database must be granted to the user id under which the Apache server is running. Otherwise, connections to the SESAM database handler will fail. </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:"../../../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 --> Index: phpdoc/en/reference/var/ini.xml +++ phpdoc/en/reference/var/ini.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="var.configuration"> &reftitle.runtime; &extension.runtime; <para> <table> <title> Variables Configuration Options</title> <tgroup cols="3"> <thead> <row> <entry>Name</entry> <entry>Default</entry> <entry>Changeable</entry> </row> </thead> <tbody> <row> <entry>unserialize_callback_func</entry> <entry>""</entry> <entry>PHP_INI_ALL</entry> </row> </tbody> </tgroup> </table> For further details and definition of the PHP_INI_* constants see <function>ini_set</function>. </para> <para> Here is a short explanation of the configuration directives. <variablelist> <varlistentry id="unserialize-callback-func"> <term> <parameter>unserialize_callback_func</parameter> <type>string</type> </term> <listitem> <para> The unserialize callback function will called (with the undefind class' name as parameter), if the unserializer finds an undefined class which should be instanciated. A warning appears if the specified function is not defined, or if the function doesn't include/implement the missing class. So only set this entry, if you really want to implement such a callback-function. </para> <para> See also <function>unserialize</function>. </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:"../../../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 -->