1.配置文件
备注:从php4.2.0起,将register_global的默认值从on改成off
例子:4-1 php.ini例子:
;any text on a line after an unquoted semicolon (;) is ignored [php]; section markers(text within square brackets) are also ignored ;Boolean values can be set to either: ; true, on, yes ; or false,off,no,none register_global=off magic_quotes_gpc=yes ; you can enclose string in double-quotes include_path=".:/user/local/lib/php" ;backslashes are treated the same as any other character include_path=".;c:\php\lib"
2.怎样改变配置选项:
以Apache 模块方式运行php
当以Apache的模块方式运行php时,也可以通过Apache的配置文件(例如 http.conf)和.htaccess文件中的指令来修改php的配置选项(需要 “AllowOverride Options”或“AllowOverride All”权限)。
在php4.0中,有几个Apache 指令可以允许在Apache的配置文件中修改php的配置。要得到哪些指令分别属于PHP_INI_ALL,PHP_INI_PERDIR或PHP_INI_SYSTEM的列表,请查看ini_set文档中的表格
注:在php3.0中也有和php3.ini中选项相对应的Apache指令,只不过加上前缀“php3_”
php_value name value
设定指定指令的值,仅能用于PHP_INI_ALL和PHP_INI_PERDIR类型的指令。要清楚上一个设定的值,降至设为none
注:不要用php_value来设定布尔值。应该用php_flag(见下面)来替代。
php_flag name on/off
用于设定布尔值类型的配置指令。仅能用于PHP_INI_ALL和PHP_INI_PERDIR了想的指令
php_admin_value name value
设定指定指令的值,不能在.htaccess文件中中使用。任何php_admin_value中设定的值不能被.htaccess或者virtualhost的指令覆盖。讲清楚上一个设定的值,降至设为none.
php_admin_flag name on/off
用于设定布尔值类型的指令。不能在.htaccess文件中使用。任何在php_admin_flag中设定的值不能被.htaccess或者virtualhost中的指令覆盖
例子:4-2.Apache配置例子
<IFModule mod_php4.c> php_value include_path ".:/user/local/lib/php" php_admin_flag safe_mode on </IFModule> <IFModule mod_php3.c> php3_include_path ".:/user/local/lib/php" php3_safe_mode on </IFMoule>
注意:
php常量不存在于php之外。
例如在http.conf中可以使用php常量:如E_ALL,或者E_NOTICE来设定error_reporting指令的值,但他们并没有实际意义并被认为是0.应该是用相应的位掩码。这些常量可以在php.ini中使用
通过修改windows注册表来改变php配置
在windows下运行php时,可以通过windows注册表来修改每个目录的配置选项,配置的值存在于注册表的HKLM\SOFTWARE\PHP\Per Directory Values 下面每个根据路径起名的子键中。例如对于相对路径c:\inetpub\wwwroot.对于目录的设置将会在人何在此目录及其子目录下运行的脚本激活。对应简明应该和php配置选项相同,并且具有字符串值。值中的php常量不会被解析
其他php接口
不论php接口是什么都可以在脚本执行过程中通过ini_set()来修改一些值。下表提供了指令可以再哪一级被设定/修改的概览
表格 4-1. PHP_INI_*常量的定义
常量 | 值 | 含义 |
PHP_INI_USER | 1 | 该项目可以在用户脚本中设定 |
PHP_INI_PERDIR | 2 | 该项目可以在php.ini,.htaccess或者httpd.conf中设定 |
PHP_INI_SYSTEM | 4 | 该项目可以再php.ini或httpd.conf中设定 |
PHP_INI_ALL | 7 | 该项目可以在任何地方设定 |
可以在phpinfo()的输出中查看配置选项的值。也可以用ini_get或get_cfg_var()来单个访问配置指令的值