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 files. For a listing of which
directives are
PHP_INI_ALL,
PHP_INI_PERDIR, or
PHP_INI_SYSTEM, have a look at the table found
within the ini_set() documentation.
注: 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_".
Sets the value of the specified directive. Can
be used only with PHP_INI_ALL and PHP_INI_PERDIR type
directives. To clear a previously set value use none as the value.
Used to set a Boolean configuration directive.
Can be used only with PHP_INI_ALL and PHP_INI_PERDIR
type directives.
Sets the value of the specified directive. This
can NOT be used in
.htaccess files. Any directive type set with
php_admin_value can
not be overridden by
.htaccess or virtualhost directives.
Used to set a Boolean configuration directive.
This can NOT be used in
.htaccess files. Any directive type set with
php_admin_flag can
not be overridden by
.htaccess or virtualhost directives.
注: PHP constants do not exist outside of PHP. For example, in httpd.conf you can 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
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.
You can view the settings of the configuration values
in the output of phpinfo(). You can also access the
values of individual configuration directives using
ini_get() or get_cfg_var().