diff --git a/chapters/config.xml b/chapters/config.xml index bc8d4bb52d..453fd76690 100644 --- a/chapters/config.xml +++ b/chapters/config.xml @@ -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 @@ include_path = ".;c:\php\lib" + - - 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 @@ include_path = ".;c:\php\lib" 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,285 +346,268 @@ include_path = ".;c:\php\lib" 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. + - - - - - - - auto_append_file - string - - - - 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. - - - + - auto_prepend_file - string - - - - 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 special value none - disables auto-prepending. - - - - - - - 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. - - - - - - - display_errors - boolean - - - - This determines whether errors should be printed to the screen - as part of the HTML output or not. - - - - - - - doc_root - 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. - - - - - - - - error_log - 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. - - - - - - - error_reporting + precision integer - - 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. - - - The default value does not show E_NOTICE level - errors. You may want to show them during development. - + + The number of significant digits displayed in floating point numbers. + - + - file_uploads + y2k_compliance + boolean + + + + Enforce year 2000 compliance (will cause problems with non-compliant browsers) + + + + + + + + allow_call_time_pass_reference boolean - Whether or not to allow HTTP - file uploads. See also - the - upload_max_filesize, - upload_tmp_dir, and - post_max_size directives. + 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). + + + See also References Explained. - - + + - html_errors + expose_php 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. + 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. + + - docref_root - string + track_vars + boolean - 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/. + 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. - - - The value of docref_root must end with a slash '/'. - - - + - docref_ext + arg_separator.output string - See docref_root. + The separator used in PHP generated URLs to separate arguments. - - - The value of docref_ext must begin with a dot '.'. - - - + - open_basedir + arg_separator.input 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/" + List of separator(s) used by PHP to parse input URLs into variables. - Support for multiple directories was added in 3.0.7. + Every character in this directive is considered as separator! - - The default is to allow all files to be opened. - - - - - - - gpc_order - 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. - - - Note, that this option is not available in PHP 4. - Use variables_order - instead. - @@ -519,49 +631,270 @@ include_path = ".;c:\php\lib" - + - ignore_user_abort + register_globals 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. + 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. - See also ignore_user_abort. + 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. + + + + + + + + register_argc_argv + boolean + + + + 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. + + + + + + + post_max_size + integer + + + + 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. + + + + + + + gpc_order + 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. + + + + This option is not available in PHP 4. + Use variables_order + instead. + + + + + + + + auto_prepend_file + string + + + + 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 special value none + disables auto-prepending. - + - implicit_flush + auto_append_file + string + + + + 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. + + + + + + + + default_mimetype + string + + + + + + + + + + default_charset + string + + + + 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. + + + + + + + always_populate_raw_post_data 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. + Always populate the $HTTP_RAW_POST_DATA variable. - + + + + allow_webdav_methods + boolean + + + + 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,292 +929,21 @@ include_path=".;c:\www\phplib" - + - 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 - - - - 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. - - - - - - - post_max_size - integer - - - - 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. - - - - - - - register_globals - boolean - - - - 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. - - - - - - - - short_open_tag - 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 ?>). - - - - This directive also affects the shorthand <?=, - which is identical to <? echo. Use of this - shortcut requires short_open_tag - to be on. - - - - - - - - sql.safe_mode - boolean - - - - - - - - - - track_errors - boolean - - - - If enabled, the last error message will always be present in the - global variable $php_errormsg. - - - - - - track_vars - 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. - - - - - - - upload_tmp_dir + doc_root string - The temporary directory used for storing files when doing - file upload. Must be writable by whatever user PHP is - running as. - - - - - - - upload_max_filesize - integer - - - - The maximum size of an uploaded file. The value is - in bytes. + 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. @@ -894,101 +956,219 @@ include_path=".;c:\www\phplib" The base name of the directory used on a user's home - directory for PHP files, for example + directory for PHP files, for example public_html. - + - warn_plus_overloading - boolean + extension_dir + string - 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 - (.). + In what directory PHP should look for dynamically loadable + extensions. See also: enable_dl, + and dl. + + + + + + + extension + string + + + + Which dynamically loadable extensions to load when PHP starts + up. + + + cgi.force_redirect + boolean + + + + 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. + + + + 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. + + + + + + + + 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. + + + + + + + + fastcgi.impersonate + string + + + + 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. + + +
- - Safe Mode Configuration Directives - + + 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. + + + + file_uploads + boolean + + + + Whether or not to allow HTTP + file uploads. See also + the + upload_max_filesize, + upload_tmp_dir, and + post_max_size directives. + + + - - - safe_mode - boolean - - - - Whether to enable PHP's safe mode. Read the - Security and - Safe Mode chapters for - more information. - - - + + + upload_tmp_dir + string + + + + The temporary directory used for storing files when doing + file upload. Must be writable by whatever user PHP + is running as. If not specified PHP will use the system's default. + + + - - - safe_mode_gid - boolean - - - - Whether to use UID (&false;) or - GID (&true;) checking upon file - access. See Safe Mode for - more information. - - - + + + upload_max_filesize + integer + + + + The maximum size of an uploaded file. + + + + + +
- - - 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. - - - - -
+ + 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. + + + + sql.safe_mode + boolean + + + + + + + +
@@ -1034,154 +1214,6 @@ include_path=".;c:\www\phplib" - - 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. - - - - - - -
diff --git a/features/safe-mode.xml b/features/safe-mode.xml index b4703ea6af..2feeca0130 100644 --- a/features/safe-mode.xml +++ b/features/safe-mode.xml @@ -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: - - + + + Security and Safe Mode + +
+ Security and Safe Mode Configuration Directives + + + + Name + Default + Changeable + + + - Directive - Default value - - - - - - 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 @@ Warning: readfile() has been disabled for security reasons in ]]> + Functions restricted/disabled by safe mode diff --git a/reference/errorfunc/ini.xml b/reference/errorfunc/ini.xml new file mode 100644 index 0000000000..66c6170379 --- /dev/null +++ b/reference/errorfunc/ini.xml @@ -0,0 +1,386 @@ + + +
+ &reftitle.runtime; + &extension.runtime; + + + Errors and Logging Configuration Options + + + + Name + Default + Changeable + + + + + error_reporting + NULL + PHP_INI_ALL + + + display_errors + "1" + PHP_INI_ALL + + + display_startup_errors + "0" + PHP_INI_ALL + + + log_errors + "0" + PHP_INI_ALL + + + log_errors_max_len + "1024" + PHP_INI_ALL + + + ignore_repeated_errors + "0" + PHP_INI_ALL + + + ignore_repeated_source + "0" + PHP_INI_ALL + + + report_memleaks + "1" + PHP_INI_SYSTEM + + + track_errors + "0" + PHP_INI_ALL + + + html_errors + "1" + PHP_INI_ALL + + + docref_root + "http://www.php.net/" + PHP_INI_ALL + + + docref_ext + ".html" + PHP_INI_ALL + + + error_prepend_string + NULL + PHP_INI_ALL + + + error_append_string + NULL + PHP_INI_ALL + + + error_log + NULL + PHP_INI_ALL + + + warn_plus_overloading + NULL + PHP_INI?? + + + +
+ For further details and definition of the PHP_INI_* constants see + ini_set. +
+ + Here is a short explanation of the configuration directives. + + + + error_reporting + integer + + + + 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 + Predefined Constants + , and in &php.ini;. To set at runtime, use the + error_reporting function. See also the + display_errors directive. + + + The default value does not show E_NOTICE level + errors. You may want to show them during development. + + + + + + + display_errors + boolean + + + + This determines whether errors should be printed to the screen + as part of the HTML output or not. + + + + + + + display_startup_errors + boolean + + + + 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. + + + + + + + log_errors + boolean + + + + Tells whether script error messages should be logged to the + server's error log or error_log. + This option is thus server-specific. + + + + You're strongly advised to use error logging in place of + error displaying on production web sites. + + + + + + + + log_errors_max_len + integer + + + + Set the maximum length of log_errors in kbytes. In + error_log information about + the source is added. The default is 1024 and 0 allows to not apply + any maximum length at all. + + + + + + + ignore_repeated_errors + boolean + + + + Do not log repeated messages. Repeated errors must occur in the same + file on the same line until + ignore_repeated_source + is set true. + + + + + + + ignore_repeated_source + boolean + + + + 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. + + + + + + + report_memleaks + boolean + + + + 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 + error_reporting includes + E_WARNING in the allowed list + + + + + + + track_errors + boolean + + + + If enabled, the last error message will always be present in the + global variable $php_errormsg. + + + + + + html_errors + 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. + + + + + + + docref_root + string + + + + 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 '/'. + + + + + + + + docref_ext + string + + + + See docref_root. + + + + The value of docref_ext must begin with a dot '.'. + + + + + + + + error_prepend_string + string + + + + String to output before an error message. + + + + + + + error_append_string + string + + + + String to output after an error message. + + + + + + + error_log + string + + + + Name of the 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. See also: + syslog. + + + + + + + warn_plus_overloading + 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 + (.). + + + + + + +
+ + diff --git a/reference/errorfunc/reference.xml b/reference/errorfunc/reference.xml index 4926617463..94a052c8d7 100644 --- a/reference/errorfunc/reference.xml +++ b/reference/errorfunc/reference.xml @@ -1,5 +1,5 @@ - + Error Handling and Logging Functions Errors and Logging @@ -36,6 +36,8 @@ &no.install; + &reference.errorfunc.ini; + &reference.errorfunc.constants;
diff --git a/reference/filesystem/ini.xml b/reference/filesystem/ini.xml new file mode 100644 index 0000000000..0b6b63228f --- /dev/null +++ b/reference/filesystem/ini.xml @@ -0,0 +1,173 @@ + + +
+ &reftitle.runtime; + &extension.runtime; + + + Filesystem and Streams Configuration Options + + + + Name + Default + Changeable + + + + + allow_url_fopen + "1" + PHP_INI_ALL + + + user_agent + NULL + PHP_INI_ALL + + + default_socket_timeout + "60" + PHP_INI_ALL + + + from + NULL + ?? + + + auto_detect_line_endings + "Off" + PHP_INI_ALL + + + +
+
+ + Here is a short explanation of the configuration directives. + + + + allow_url_fopen + 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. + + + + 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. + + + + + 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. + + + + + + + + user_agent + string + + + + Define the user agent for PHP to send. + + + + + + + default_socket_timeout + integer + + + + Default timeout (in seconds) for socket based streams. + + + + This configuration option was introduced in PHP 4.3. + + + + + + + + from="joe@example.com" + string + + + + Define the anonymous ftp password (your email address). + + + + + + + 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. + + + + + + +
+ + diff --git a/reference/filesystem/reference.xml b/reference/filesystem/reference.xml index e00a6c944a..05d2797f19 100644 --- a/reference/filesystem/reference.xml +++ b/reference/filesystem/reference.xml @@ -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; -
diff --git a/reference/info/ini.xml b/reference/info/ini.xml new file mode 100644 index 0000000000..7067494a57 --- /dev/null +++ b/reference/info/ini.xml @@ -0,0 +1,241 @@ + + +
+ &reftitle.runtime; + &extension.runtime; + + + PHP Options/Inf Configuration Options + + + + Name + Default + Changeable + + + + + assert.active + "1" + PHP_INI_ALL + + + assert.bail + "0" + PHP_INI_ALL + + + assert.warning + "1" + PHP_INI_ALL + + + assert.callback + NULL + PHP_INI_ALL + + + assert.quiet_eval + "0" + PHP_INI_ALL + + + enable_dl + "1" + PHP_INI_SYSTEM + + + max_execution_time + "30" + PHP_INI_ALL + + + magic_quotes_gpc + "1" + PHP_INI_PERDIR|PHP_INI_SYSTEM + + + magic_quotes_runtime + "0" + PHP_INI_ALL + + + +
+ For further details and definition of the PHP_INI_* constants see + ini_set. +
+ + Here is a short explanation of the configuration directives. + + + + assert.active + boolean + + + + Enable assert evaluation. + + + + + + + assert.bail + boolean + + + + Terminate script execution on failed assertions. + + + + + + + assert.warning + boolean + + + + Issue a PHP warning for each failed assertion. + + + + + + + assert.callback + string + + + + user function to call on failed assertions + + + + + + + assert.quiet_eval + boolean + + + + Use the current setting of error_reporting during + assertion expression evaluation. If enabled, no errors are shown + (implicit error_reporting(0)) while evaluation. If disabled, errors are + shown according to the settings of error_reporting + + + + + + + enable_dl + boolean + + + + This directive is really only useful in the Apache module + version of PHP. You can turn dynamic loading of PHP + extensions with dl on and off per + virtual server or per directory. + + + The main reason for turning dynamic loading off is + security. With dynamic loading, it's possible to ignore all + 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. + + + + + + + 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. + + + + + + + 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. + + + + + + +
+ + + diff --git a/reference/info/reference.xml b/reference/info/reference.xml index dc6d590192..8dce1b6909 100644 --- a/reference/info/reference.xml +++ b/reference/info/reference.xml @@ -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; diff --git a/reference/misc/ini.xml b/reference/misc/ini.xml new file mode 100644 index 0000000000..36d10e9636 --- /dev/null +++ b/reference/misc/ini.xml @@ -0,0 +1,134 @@ + + +
+ &reftitle.runtime; + &extension.runtime; + + + Misc. Configuration Options + + + + Name + Default + Changeable + + + + + ignore_user_abort + "0" + PHP_INI_ALL + + + highlight.string + #CC0000 + PHP_INI_ALL + + + highlight.comment + #FF9900 + PHP_INI_ALL + + + highlight.keyword + #006600 + PHP_INI_ALL + + + highlight.bg + #FFFFFF + PHP_INI_ALL + + + highlight.default + #0000CC + PHP_INI_ALL + + + highlight.html + #000000 + PHP_INI_ALL + + + browscap + NULL + 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. + + + + + ignore_user_abort + 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. + + + + + + + highlight.xxx + string + + + + Colors for Syntax Highlighting mode. Anything that's acceptable in + <font color="??????"> would work. + + + + + + + browscap + string + + + + Name (e.g.: browscap.ini)and location of browser + capabilities file. See also get_browser. + + + + + + +
+ + diff --git a/reference/misc/reference.xml b/reference/misc/reference.xml index 22c9c9566c..92b167a1ed 100644 --- a/reference/misc/reference.xml +++ b/reference/misc/reference.xml @@ -1,5 +1,5 @@ - + Miscellaneous functions Misc. @@ -24,10 +24,7 @@ &no.install;
-
- &reftitle.runtime; - &no.config; -
+ &reference.misc.ini;
&reftitle.resources; diff --git a/reference/outcontrol/ini.xml b/reference/outcontrol/ini.xml index 07e009add8..e06df36a30 100644 --- a/reference/outcontrol/ini.xml +++ b/reference/outcontrol/ini.xml @@ -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,13 +70,39 @@ 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. + + +
diff --git a/reference/rsusi.txt b/reference/rsusi.txt index 0d97622b01..42cbffb4d6 100644 --- a/reference/rsusi.txt +++ b/reference/rsusi.txt @@ -43,12 +43,12 @@ dio dir domxml ++ dotnet ~ -errorfunc +errorfunc yes exec fbsql yes fdf filepro ~ -filesystem +filesystem yes fribidi ~ ftp funchand @@ -64,7 +64,7 @@ ifx yes iisfunc image yes imap -info +info yes ingres-ii yes ircg java ++ yes @@ -79,7 +79,7 @@ mcve ~ mhash mime_magic yes ming ++ -misc ~ +misc ~ yes mnogosearch msession ~ msql ~ yes @@ -110,7 +110,7 @@ readline recode regex sem yes -sesam !no +sesam ++ yes session ++ yes shmop snmp @@ -121,7 +121,7 @@ sybase ~ yes tokenizer ~ yes uodbc yes url ~ -var ~ +var ~ yes vpopmail ~ w32api wddx diff --git a/reference/sesam/ini.xml b/reference/sesam/ini.xml new file mode 100644 index 0000000000..5100f1449b --- /dev/null +++ b/reference/sesam/ini.xml @@ -0,0 +1,268 @@ + + +
+ &reftitle.runtime; + &extension.runtime; + + + + + 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. + + + + + +
+ +
+ Configuration notes + + 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: + + + + + + + + + + +
+
+ + 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: + + + + starting the SESAM database handler (DBH), and + + + + + connecting the databases with the SESAM database handler + + + + + + 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. + + +
+ + + diff --git a/reference/sesam/reference.xml b/reference/sesam/reference.xml index f655f7165b..7a90388ec9 100644 --- a/reference/sesam/reference.xml +++ b/reference/sesam/reference.xml @@ -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. + There is a PHP3 SESAM interface available which allows + database operations via PHP-scripts. - - 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. - - - + + + 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 @@ php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 - - - - 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 @@ php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 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 @@ php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 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 @@ php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 - - +
+ +
Notes on the use of various SQL types @@ -452,8 +295,9 @@ php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 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 @@ INSERT INTO multi_field_test (pkey, multi(2..3) ) 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 the SESAM/SQL-Server documentation + (english) or the + SESAM/SQL-Server documentation (german), both available + online, or use the respective manuals. +
+
&reference.sesam.functions; diff --git a/reference/sybase/ini.xml b/reference/sybase/ini.xml index dd2d84346e..bc95a5dada 100644 --- a/reference/sybase/ini.xml +++ b/reference/sybase/ini.xml @@ -1,5 +1,5 @@ - +
&reftitle.runtime; &extension.runtime; @@ -51,9 +51,7 @@ PHP_INI_SYSTEM - - magic_quotes_sybase - + magic_quotes_sybase "Off" PHP_INI_ALL @@ -143,8 +141,24 @@ + + + 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. + + + + + Sybase-CT configuration options diff --git a/reference/var/ini.xml b/reference/var/ini.xml new file mode 100644 index 0000000000..f40cb28b3e --- /dev/null +++ b/reference/var/ini.xml @@ -0,0 +1,75 @@ + + +
+ &reftitle.runtime; + &extension.runtime; + +
+ Variables Configuration Options + + + + Name + Default + Changeable + + + + + unserialize_callback_func + "" + PHP_INI_ALL + + + +
+ For further details and definition of the PHP_INI_* constants see + ini_set. +
+ + Here is a short explanation of the configuration directives. + + + + unserialize_callback_func + string + + + + 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. + + + See also unserialize. + + + + + + +
+ + diff --git a/reference/var/reference.xml b/reference/var/reference.xml index 92ecd532e3..3e6c262ec0 100644 --- a/reference/var/reference.xml +++ b/reference/var/reference.xml @@ -1,5 +1,5 @@ - + Variable Functions Variables @@ -24,10 +24,7 @@ &no.install;
-
- &reftitle.runtime; - &no.config; -
+ &reference.var.ini;
&reftitle.resources;