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 @@ - + Configuration @@ -10,7 +10,7 @@ The configuration file (called php3.ini 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 CGI and CLI version, it happens on every invocation. @@ -60,78 +60,87 @@ + - - 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) - + + How to change configuration settings - - With PHP 3.0, there are Apache directives that correspond to each - configuration setting in the php3.ini name, - except the name is prefixed by "php3_". - + + Running <literal>PHP</literal> as Apache module + + When using PHP as an Apache module, you can also change the + configuration settings using directives in Apache configuration + files (e.g. httpd.conf) and + .htaccess files (You will need + "AllowOverride Options" or "AllowOverride All" privileges) + - - With PHP 4.0, there are several Apache directives that allow you - to change the PHP configuration from within the Apache - configuration file itself. - - - - php_value - name - value - - - - This sets the value of the specified variable. - - - - - php_flag - name - on|off - - - - This is used to set a Boolean configuration option. - - - - - php_admin_value - name - value - - - - 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. - - - - - php_admin_flag - name - on|off - - - - This is used to set a Boolean configuration option. - - - - - - - Apache configuration example - + + With PHP 3.0, there are Apache directives that correspond to each + configuration setting in the php3.ini name, + except the name is prefixed by "php3_". + + + + With PHP 4.0, there are several Apache directives that allow you + to change the PHP configuration from within the Apache + configuration file itself. + + + + php_value + name + value + + + + This sets the value of the specified variable. + + + + + php_flag + name + on|off + + + + This is used to set a Boolean configuration option. + + + + + php_admin_value + name + value + + + + 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. + + + + + + php_admin_flag + name + on|off + + + + This is used to set a Boolean configuration option. + + + + + + + + Apache configuration example + php_value include_path ".:/usr/local/lib/php" @@ -142,67 +151,187 @@ php3_safe_mode on ]]> - - + + - - - PHP constants do not exist outside of PHP. For example, in - httpd.conf do not use PHP constants - such as E_ALL or E_NOTICE - to set the error_reporting - directive as they will have no meaning and will evaluate to - 0. Use the associated bitmask values instead. - These constants can be used in &php.ini; - - - + + + PHP constants do not exist outside of PHP. For example, in + httpd.conf do not use PHP constants + such as E_ALL or E_NOTICE + to set the error_reporting + directive as they will have no meaning and will evaluate to + 0. Use the associated bitmask values instead. + These constants can be used in &php.ini; + + + + - - You can view the settings of the configuration values in - the output of phpinfo. You can also - access the values of individual configuration settings using - ini_get or get_cfg_var. - - - - General Configuration Directives + + Other interfaces to <literal>PHP</literal> + Regardless of the interface to PHP you can change + certain values at runtime of your scripts through + ini_set. The following table provides an overview + at which level a directive can be set/changed. + + +

+ Definition of PHP_INI_* constants + + + + Constant + Value + Meaning + + + + + PHP_INI_USER + 1 + Entry can be set in user scripts + + + PHP_INI_PERDIR + 2 + + Entry can be set in .htaccess and VHost + directives in httpd.conf. + + + + PHP_INI_SYSTEM + 4 + + Entry can be set in &php.ini; or + httpd.conf (but not in VHost blocks in + httpd.conf). + + + + PHP_INI_ALL + 7 + Entry can be set anywhere + + + +
+ + + You can view the settings of the configuration values in + the output of phpinfo. You can also + access the values of individual configuration settings using + ini_get or get_cfg_var. + + + + + + Configuration directives + + + Httpd Options + + + Httpd Options + + + + Name + Default + Changeable + + + + + async_send + "0" + PHP_INI_ALL + + + +
+
+ + +
+ + + Language Options + + + Language and Misc Configuration Options + + + + Name + Default + Changeable + + + + + short_open_tag + On + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + asp_tags + Off + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + precision + "14" + PHP_INI_ALL + + + y2k_compliance + Off + PHP_INI_ALL + + + allow_call_time_pass_reference + On + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + expose_php + On + PHP_INI_SYSTEM + + + +
+
+ + Here is a short explanation of the configuration directives. - + - allow_url_fopen + short_open_tag boolean - This option enables the URL-aware fopen wrappers that enable - accessing URL object like files. Default wrappers are provided for - the access of remote files - using the ftp or http protocol, some extensions like - zlib may register additional - wrappers. + Tells whether the short form (<? ?>) + 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 <?xml ?> inline. Otherwise, you + can print it with PHP, for example: <?php echo '<?xml + version="1.0"'; ?>. Also if disabled, you must use the + long form of the PHP open tag (<?php ?>). - - 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 - - --disable-url-fopen-wrapper. + This directive also affects the shorthand <?=, + which is identical to <? echo. Use of this + shortcut requires short_open_tag + to be on. - - - On Windows versions prior to PHP 4.3, the following functions do not - support remote file accesing: include, - include_once, require, - require_once and the imagecreatefromXXX - functions in the extension. - - - @@ -217,351 +346,555 @@ the usual <?php ?> tags. This includes the variable-value printing shorthand of <%= $value %>. For more information, see Escaping from HTML. + linkend="language.basic-syntax.phpmode">Escaping from HTML. - - Support for ASP-style tags was added in 3.0.4. - + Support for ASP-style tags was added in 3.0.4. + + + + + + precision + integer + + + + The number of significant digits displayed in floating point numbers. + - - + + - auto_append_file - string + y2k_compliance + boolean - - 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 include function, so - include_path is used. - - The special value none - disables auto-appending. - - - If the script is terminated with exit, - auto-append will not occur. - - + + Enforce year 2000 compliance (will cause problems with non-compliant browsers) + - + + - auto_prepend_file - string + allow_call_time_pass_reference + boolean - 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 include function, so - include_path is used. + 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). + - The special value none - disables auto-prepending. + See also References Explained. - + - disable_functions - string + expose_php + boolean - - This directive allows you to disable certain functions for - security reasons. It takes - on a comma-dilimited list of function names. disable_functions - is not affected by Safe Mode. - - - This directive must be set in &php.ini; For example, you - cannot set this in httpd.conf. - + + 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. + - - + + +
+ + + Resource Limits + + + Resource Limits + + + + Name + Default + Changeable + + + + + memory_limit + "8M" + PHP_INI_ALL + + + +
+
+ + Here is a short explanation of the configuration directives. + + + + + memory_limit + integer + + + + 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. + + + + + + + See also: max_execution_time. + +
+ + + Data Handling + + + Data Handling Configuration Options + + + + Name + Default + Changeable + + + + + track-vars + "On" + PHP_INI_?? + + + arg_separator.output + "&" + PHP_INI_ALL + + + arg_separator.input + "&" + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + variables_order + "EGPCS" + PHP_INI_ALL + + + register_globals + "Off" + PHP_INI_PERDIR|PHP_INI_SYSTEM + + + register_argc_argv + "On" + PHP_INI_PERDIR|PHP_INI_SYSTEM + + + post_max_size + "8M" + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + gpc_order + "GPC" + PHP_INI_ALL + + + auto_prepend_file + "" + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + auto_append_file + "" + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + default_mimetype + "text/html" + PHP_INI_ALL + + + default_charset + "iso-8859-1" + PHP_INI_ALL + + + always_populate_raw_post_data + "0" + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + allow_webdav_methods + "0" + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + +
+
+ + Here is a short explanation of the configuration directives. + + - display_errors + track_vars boolean - 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 + $_ENV, + $_GET, + $_POST, + $_COOKIE, and + $_SERVER. + + + Note that as of PHP 4.0.3, track_vars is always turned on. - - + + - doc_root + arg_separator.output string - PHP's "root directory" on the server. Only used if - non-empty. If PHP is configured with safe mode, no files outside - this directory are served. + The separator used in PHP generated URLs to separate arguments. - - + - error_log + arg_separator.input string - Name of file where script errors should be logged. If the - special value syslog 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. + + + Every character in this directive is considered as separator! + + - + - error_reporting - integer + variables_order + string - 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 - Error Handling section - of the manual, and in &php.ini;. To set at runtime, use the - error_reporting function. See also the - display_errors 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. - The default value does not show E_NOTICE level - errors. You may want to show them during development. + See also register_globals. - + - file_uploads + register_globals boolean - Whether or not to allow HTTP - file uploads. See also - the - upload_max_filesize, - upload_tmp_dir, and - post_max_size 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 + http://www.example.com/test.php?id=3 will produce + $id. Or, $DOCUMENT_ROOT from + $_SERVER['DOCUMENT_ROOT']. You may want to turn + this off if you don't want to clutter your scripts' global scope with + user data. As of PHP 4.2.0, + this directive defaults to off. It's preferred to + go through PHP Predefined Variables + instead, such as the + superglobals: + $_ENV, $_GET, + $_POST, $_COOKIE, and + $_SERVER. Please read the security chapter on + Using register_globals + for related information. + + + Please note that register_globals + cannot be set at runtime (ini_set). Although, you can + use .htaccess if your host allows it as described + above. An example .htaccess entry: + php_flag register_globals on. + + + register_globals is affected + by the variables_order + directive. + + - - + + - html_errors + register_argc_argv boolean - - 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 - docref_root and - docref_ext. - + + Tells PHP whether to declare the argv & argc variables + (that would contain the GET information). + + + See also command line. + Also, this directive became available in PHP 4.0.0 and + was always "on" before that. + - - + + - docref_root - string + post_max_size + integer - - 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 docref_root=/manual/. Additional you have - to set docref_ext to match the fileextensions of your copy - docref_ext=.html. It is possible to use external - references. For example you can use - docref_root=http://manual/en/. - - - - The value of docref_root must end with a slash '/'. - - + + Sets max size of post data allowed. This setting also affects + file upload. To upload large files, this value must be larger + than upload_max_filesize. + + + If memory limit is enabled by your configure script, memory_limit also affects + file uploading. Generally speaking, + memory_limit should be + larger than post_max_size. + - + - docref_ext + gpc_order string - See docref_root. + 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. - The value of docref_ext must begin with a dot '.'. + This option is not available in PHP 4. + Use variables_order + instead. - + - open_basedir + auto_prepend_file string - Limit the files that can be opened by PHP to the specified - directory-tree. - - - 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. - - - The special value . - indicates that the directory in which the script is stored will - be used as base-directory. - - - 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. - - - 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/" - - - - Support for multiple directories was added in 3.0.7. - - + 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 include function, so + include_path is used. - The default is to allow all files to be opened. + The special value none + disables auto-prepending. - - + + - gpc_order + auto_append_file string - 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. - + 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 include function, so + include_path is used. - Note, that this option is not available in PHP 4. - Use variables_order - instead. + The special value none + disables auto-appending. + + + If the script is terminated with exit, + auto-append will not occur. + - + - variables_order + default_mimetype string - 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. + + + + + + default_charset + string + + - See also register_globals. + 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. - + - ignore_user_abort + always_populate_raw_post_data boolean - &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. - - - See also ignore_user_abort. + Always populate the $HTTP_RAW_POST_DATA variable. - + - implicit_flush + allow_webdav_methods boolean - &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 PHP function - flush after each and every call to - print or echo and each and - every HTML block. - - - When using PHP 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 CLI SAPI. - - - See also ob_implicit_flush. + 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 + always_populate_raw_post_data as well. - + + + + See also: magic_quotes_gpc, + magic-quotes-runtime, + and + magic_quotes_sybase. + +
+ + + Paths and Directories + + + Paths and Directories Configuration Options + + + + Name + Default + Changeable + + + + + include_path + PHP_INCLUDE_PATH + PHP_INI_ALL + + + doc_root + PHP_INCLUDE_PATH + PHP_INI_SYSTEM + + + user_dir + NULL + PHP_INI_SYSTEM + + + extension_dir + PHP_EXTENSION_DIR + PHP_INI_SYSTEM + + + cgi.force_redirect + "1" + PHP_INI_SYSTEM + + + cgi.redirect_status_env + "" + PHP_INI_SYSTEM + + + fastcgi.impersonate + "0" + PHP_INI_SYSTEM + + + +
+
+ + Here is a short explanation of the configuration directives. + + include_path @@ -596,265 +929,175 @@ - - - log_errors - boolean - - - - Tells whether script error messages should be logged to the - server's error log. This option is thus server-specific. - - - - - - magic_quotes_gpc - boolean - - - - 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. - - - - - - - magic_quotes_runtime - boolean - - - - If magic_quotes_runtime is enabled, - most functions that return data from any sort of external - source including databases and text files will have quotes - escaped with a backslash. If - magic_quotes_sybase is also on, a - single-quote is escaped with a single-quote instead of a - backslash. - - - - - - - magic_quotes_sybase - boolean - - - - If magic_quotes_sybase is also on, a - single-quote is escaped with a single-quote instead of a - backslash if magic_quotes_gpc or - magic_quotes_runtime is enabled. - - - - - - - max_execution_time - integer - - - - This sets the maximum time in seconds a script is allowed to - run before it is terminated by the parser. This helps - prevent poorly written scripts from tying up the server. The - default setting is 30. - - - The maximum execution time is not affected by system calls, - the sleep function, etc. Please see the - set_time_limit function for more - details. - - - - - - - memory_limit - integer - - - - 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. - - - - - - - precision - integer - - - - The number of significant digits displayed in floating point numbers. - - - - - + - register_argc_argv - boolean + doc_root + string - - Tells PHP whether to declare the argv & argc variables - (that would contain the GET information). - - - See also command line. - Also, this directive became available in PHP 4.0.0 and - was always "on" before that. - + + PHP's "root directory" on the server. Only used if + non-empty. If PHP is configured with safe mode, 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 + cgi.force_redirect configuration below. + - + - post_max_size - integer + user_dir + string - - Sets max size of post data allowed. This setting also affects - file upload. To upload large files, this value must be larger - than upload_max_filesize. - - - If memory limit is enabled by configure script, memory_limit also affects - file uploading. Generally speaking, memory_limit should be - larger than post_max_size. - + + The base name of the directory used on a user's home + directory for PHP files, for example + public_html. + - + - register_globals - boolean + extension_dir + string - + - 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 - http://www.example.com/test.php?id=3 will produce - $id. Or, $DOCUMENT_ROOT from - $_SERVER['DOCUMENT_ROOT']. You may want to turn - this off if you don't want to clutter your scripts' global scope with - user data. As of PHP 4.2.0, - this directive defaults to off. It's preferred to - go through PHP Predefined Variables - instead, such as the - superglobals: - $_ENV, $_GET, - $_POST, $_COOKIE, and - $_SERVER. Please read the security chapter on - Using register_globals - for related information. + In what directory PHP should look for dynamically loadable + extensions. See also: enable_dl, + and dl. + + + + + + extension + string + + - Please note that register_globals - cannot be set at runtime (ini_set). Although, you can - use .htaccess if your host allows it as described - above. An example .htaccess entry: - php_flag register_globals on. + Which dynamically loadable extensions to load when PHP starts + up. - - - register_globals is affected - by the variables_order - directive. - - - + - short_open_tag + cgi.force_redirect boolean - Tells whether the short form (<? ?>) - 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 <?xml ?> inline. Otherwise, you - can print it with PHP, for example: <?php echo '<?xml - version="1.0"'; ?>. Also if disabled, you must use the - long form of the PHP open tag (<?php ?>). + 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 AT YOUR OWN RISK. - This directive also affects the shorthand <?=, - which is identical to <? echo. Use of this - shortcut requires short_open_tag - 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. - + - sql.safe_mode - boolean + cgi.cgi.redirect_status_env + string + 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. + + + Setting this variable MAY cause security issues, + KNOW WHAT YOU ARE DOING FIRST. + + - + - track_errors - boolean + fastcgi.impersonate + string - If enabled, the last error message will always be present in the - global variable $php_errormsg. + 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. + + + +
- + + File Uploads + + + File Uploads Configuration Options + + + + Name + Default + Changeable + + + + + file_uploads + "1" + PHP_INI_SYSTEM + + + upload_tmp_dir + NULL + PHP_INI_SYSTEM + + + upload_max_filesize + "2M" + PHP_INI_SYSTEM|PHP_INI_PERDIR + + + +
+
+ + Here is a short explanation of the configuration directives. + + - track_vars + file_uploads boolean - If enabled, then Environment, GET, POST, Cookie, and Server - variables can be found in the global associative arrays - $_ENV, - $_GET, - $_POST, - $_COOKIE, and - $_SERVER. - - - Note that as of PHP 4.0.3, track_vars is always turned on. + Whether or not to allow HTTP + file uploads. See also + the + upload_max_filesize, + upload_tmp_dir, and + post_max_size directives. @@ -867,8 +1110,8 @@ 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 PHP + is running as. If not specified PHP will use the system's default.
@@ -880,117 +1123,54 @@ - The maximum size of an uploaded file. The value is - in bytes. - - - - - - - user_dir - string - - - - The base name of the directory used on a user's home - directory for PHP files, for example - public_html. + The maximum size of an uploaded file. + + + - + + General SQL + + + General SQL Configuration Options + + + + Name + Default + Changeable + + + + + sql.safe_mode + "0" + PHP_INI_SYSTEM + + + +
+
+ + Here is a short explanation of the configuration directives. + + - warn_plus_overloading + sql.safe_mode boolean - If enabled, this option makes PHP output a warning when the - plus (+) 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 - (.). -
- - Safe Mode Configuration Directives - - - - - safe_mode - boolean - - - - Whether to enable PHP's safe mode. Read the - Security and - Safe Mode chapters for - more information. - - - - - - - safe_mode_gid - boolean - - - - Whether to use UID (&false;) or - GID (&true;) checking upon file - access. See Safe Mode for - more information. - - - - - - - safe_mode_exec_dir - string - - - - If PHP is used in safe mode, system and - the other functions executing system programs refuse to start - programs that are not in this directory. - - - - - - - safe_mode_include_dir - string - - - - UID/GID checks are bypassed when - including files from this directory and its subdirectories (directory - must also be in include_path - or full path must including). - - - 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. - - - - - - - Debugger Configuration Directives @@ -1031,154 +1211,6 @@
- - - - - Extension Loading Directives - - - - - enable_dl - boolean - - - - This directive is really only useful in the Apache module - version of PHP. You can turn dynamic loading of PHP - extensions with dl on and off per - virtual server or per directory. - - - The main reason for turning dynamic loading off is - security. With dynamic loading, it's possible to ignore all - the safe_mode and open_basedir restrictions. - - - The default is to allow dynamic loading, except when using - safe-mode. In safe-mode, it's always imposible to use - dl. - - - - - - - extension_dir - string - - - - In what directory PHP should look for dynamically loadable - extensions. - - - - - - - extension - string - - - - Which dynamically loadable extensions to load when PHP starts - up. - - - - - - - - - SESAM Configuration Directives - - - - - sesam_oml - string - - - - 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. - - - - - - - sesam_configfile - string - - - - Name of SESAM application configuration file. Required for - using SESAM functions. The BS2000 file must be readable by - the apache server's user id. - - - The application configuration file will usually contain a - configuration like (see SESAM - reference manual): - - - - - - - - - - - - sesam_messagecatalog - string - - - - 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. - - - The message catalog must be set ACCESS=READ,SHARE=YES because - it must be readable by the apache server's user id. - - - - - - - - - - Browser Capability Configuration Directives - - - - - browscap - string - - - - Name of browser capabilities file. See also - get_browser. - - - - 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 @@ - + Safe Mode @@ -10,69 +10,240 @@ server and OS levels aren't very realistic, many people, especially ISP's, use safe mode for now. - - - Configuration directives controlling safe mode are: - - - - Directive - Default value - - - + + + Security and Safe Mode + +
+ Security and Safe Mode Configuration Directives + + + + Name + Default + Changeable + + + - - safe_mode - - Off + safe_mode + "0" + PHP_INI_SYSTEM - - safe_mode_gid - - 0 + safe_mode_gid + "0" + PHP_INI_SYSTEM - - safe_mode_include_dir - - "" + safe_mode_include_dir + NULL + PHP_INI_SYSTEM - - safe_mode_exec_dir - - 1 + safe_mode_exec_dir + "" + PHP_INI_SYSTEM - - open_basedir - - "" + safe_mode_allowed_env_vars + PHP_ + PHP_INI_SYSTEM - - safe_mode_allowed_env_vars - - PHP_ + safe_mode_protected_env_vars + LD_LIBRARY_PATH + PHP_INI_SYSTEM - - safe_mode_protected_env_vars - - LD_LIBRARY_PATH + open_basedir + NULL + PHP_INI_SYSTEM - - disable_functions - - "" + disable_functions + "" + PHP_INI_SYSTEM - - -
-
+ + + + For further details and definition of the PHP_INI_* constants see + ini_set. + + + Here is a short explanation of the configuration directives. + + + + safe_mode + boolean + + + + Whether to enable PHP's safe mode. Read the + Security and chapter for more + information. + + + + + + safe_mode_gid + boolean + + + + 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 UID (&false;) or + GID (&true;) checking upon file + access. + + + + + + safe_mode_include_dir + string + + + + UID/GID checks are bypassed when + including files from this directory and its subdirectories (directory + must also be in include_path + or full path must including). + + + As of PHP 4.2.0, this directive can take a semi-colon separated + path in a similar fashion to the + include_path directive, + rather than just a single directory. + + + + + + safe_mode_exec_dir + string + + + + If PHP is used in safe mode, system and the other + functions executing system programs + refuse to start programs that are not in this directory. + + + + + + safe_mode_allowed_env_vars + string + + + + 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). + + + + If this directive is empty, PHP will let the user modify ANY + environment variable! + + + + + + + safe_mode_protected_env_vars + string + + + + This directive contains a comma-delimited list of environment + variables that the end user won't be able to change using + putenv. These variables will be protected + even if safe_mode_allowed_env_vars is set to allow to change them. + + + + + + open_basedir + string + + + + Limit the files that can be opened by PHP to the specified + directory-tree. This directive is NOT + affected by whether Safe Mode is turned On or Off. + + + 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. + + + The special value . + indicates that the directory in which the script is stored will + be used as base-directory. + + + 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. + + + 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/" + + + + Support for multiple directories was added in 3.0.7. + + + + The default is to allow all files to be opened. + + + + + + disable_functions + string + + + + This directive allows you to disable certain functions for + security reasons. It takes + on a comma-dilimited list of function names. disable_functions + is not affected by Safe Mode. + + + This directive must be set in &php.ini; For example, you + cannot set this in httpd.conf. + + + + + + + See also: register_globals, + display_errors, and + log_errors + + When safe_mode 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 @@ ]]> +
Functions restricted/disabled by safe mode 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 @@ - + Error Handling and Logging Functions Errors and Logging @@ -35,6 +35,8 @@ &reftitle.install; &no.install; + + &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 @@ - + Filesystem functions Filesystem @@ -21,67 +21,12 @@ &no.install; -
- &reftitle.runtime; - &extension.runtime; - - - Filesystem and Streams Configuration Options - - - - Name - Default - Changeable - - - - - auto_detect_line_endings - "Off" - PHP_INI_ALL - - - -
-
- - Here is a short explanation of the configuration directives. - - - - auto_detect_line_endings - boolean - - - - When turned on, PHP will examine the data read by - fgets and file to see if it - is using Unix, MS-Dos or Macintosh line-ending conventions. - - 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. - - - - This configuration option was introduced in PHP 4.3. - - - - - - - -
+ &reference.filesystem.ini;
&reftitle.resources; -
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 @@ - + PHP Options&Information PHP Options/Info @@ -26,10 +26,7 @@ &no.install;
-
- &reftitle.runtime; - &no.config; -
+ &reference.info.ini;
&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 @@ - + Miscellaneous functions Misc. @@ -24,10 +24,7 @@ &no.install;
-
- &reftitle.runtime; - &no.config; -
+ &reference.misc.ini;
&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 @@ - +
&reftitle.runtime; &extension.runtime; @@ -26,9 +26,7 @@ PHP_INI_PERDIR|PHP_INI_SYSTEM - - implicit_flush - + implicit_flush "0" PHP_INI_PERDIR|PHP_INI_SYSTEM @@ -72,11 +70,37 @@ You cannot use both mb_output_handler with - ob_inconv_handler and you cannot use both + ob_inconv_handler and you cannot use both ob_gzhandler and zlib.output_compression. + + + + + + implicit_flush + boolean + + + + &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 PHP function + flush after each and every call to + print or echo and each and + every HTML block. + + + When using PHP 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 CLI SAPI. + + + See also ob_implicit_flush. + 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 @@ - + SESAM database functions SESAM - - 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. - - - In numerous productive BS2000 installations, SESAM/SQL-Server has - proven ... - - - - the ease of use of Java-, Web- and client/server connectivity, - - - - - the capability to work with an availability of more than - 99.99%, - - - - - the ability to manage tens and even hundreds of thousands of - users. - - - - - - Now there is a PHP3 SESAM interface available which allows - database operations via PHP-scripts. - - - Configuration notes +
+ &reftitle.intro; - There is no standalone support for the PHP SESAM interface, it - works only as an integrated Apache module. In the Apache PHP - module, this SESAM interface is - configured using Apache directives. - - SESAM Configuration directives - - - - Directive - Meaning - - - - - php3_sesam_oml - - Name of BS2000 PLAM library containing the loadable SESAM - driver modules. Required for using SESAM functions. - - Example: - - - - - - - - - - php3_sesam_configfile - - Name of SESAM application configuration file. Required for - using SESAM functions. - - Example: - - - - - - It will usually contain a configuration like (see SESAM - reference manual): - - - - - - - - - - php3_sesam_messagecatalog - - 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. - - Example: - - - - - - - - - - -
+ 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.
- 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 - starting the SESAM database handler (DBH), and + the ease of use of Java-, Web- and client/server connectivity, - connecting the databases with the SESAM database handler + the capability to work with an availability of more than + 99.99%, - + + + the ability to manage tens and even hundreds of thousands of + users. + + + - To get a connection between a PHP script and the database - handler, the CNF and NAM - parameters of the selected SESAM configuration file must match - the id of the started database handler. - - - In case of distributed databases you have to start a - SESAM/SQL-DCN agent with the distribution table including the - host and database names. - - - 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. - - - 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 configuration, 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). - - - 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 php3_magic_quotes_gpc - and php3_magic_quotes_sybase - to On for all PHP scripts using the SESAM - interface. - - - - Runtime considerations - - 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. - - - 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. - - - 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 PHP3 SESAM interface available which allows + database operations via PHP-scripts. - - + + + Access to SESAM is only available with the latest CVS-Version of + PHP3. PHP 4 does not support the + SESAM database. + + +
+ + &reference.sesam.ini; + +
Cursor Types The result cursors which are allocated for SQL "select type" @@ -274,11 +115,10 @@ - - - - Porting note - +
+ +
+ Porting note 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. - - +
+ +
Security concerns 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. - - +
+ +
Migration from other SQL databases No two SQL dialects are ever 100% compatible. When porting @@ -403,8 +245,9 @@ - - +
+ +
Notes on the use of various SQL types @@ -452,8 +295,9 @@ appearance of empty fields (than in the case of an empty string as the representation of an empty field). - - +
+ +
Support of SESAM's "multiple fields" feature 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. - - - For specific SESAM details, please refer to the SESAM/SQL-Server documentation - (english) or the - SESAM/SQL-Server documentation (german), both available - online, or use the respective manuals. +
+ +
+ &reftitle.seealso; + + For specific SESAM details, please refer to