php.ini中的php-5.2.0配置指令详解

摘要:简介   本文并非是对英文版 php.ini 的简单翻译,而是参考了众多资料以后,结合自己的理解,   在原有 php.ini 基础上增加了一些实用模块的配置说明,同时对文件内容的安排进行了调整。   由于作者不喜欢 no-free 的玩意儿,所以删除了除 MySQL 和 PostgreSQL 以外的其他数据库模块配置选项。    关于php.ini ;;   这个文

简介

本文并非是对英文版 php.ini 的简单翻译,而是参考了众多资料以后,结合自己的理解,

在原有 php.ini 基础上增加了一些实用模块的配置说明,同时对文件内容的安排进行了调整。

由于作者不喜欢 no-free 的玩意儿,所以删除了除 MySQL 和 PostgreSQL 以外的其他数据库模块配置选项。

1 (33).jpg
关于php.ini ;;

这个文件必须命名为\'\'php.ini\'\'并放置在httpd.conf中的PHPIniDir指令指定的目录中。

最新版本的php.ini可以在下面两个位置查看:

http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=co

http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co

语法

该文件的语法非常简单。空白字符和以分号开始的行被简单地忽略。

章节标题(例如: [php])也被简单地忽略,即使将来它们可能有某种意义。

设置指令的格式如下:

directive = value

指令名(directive)是大小写敏感的!所以"foo=bar"不同于"FOO=bar"。

值(value)可以是:

1. 用引号界定的字符串(如:"foo")

2. 一个数字(整数或浮点数,如:0, 1, 34, -1, 33.55)

3. 一个PHP常量(如:E_ALL, M_PI)

4. 一个INI常量(On, Off, none)

5. 一个表达式(如:E_ALL & ~E_NOTICE)

INI文件中的表达式仅使用:位运算符、逻辑非、圆括号:

| 位或

& 位与

~ 位非

! 逻辑非

布尔标志用 On 表示打开,用 Off 表示关闭。

一个空字符串可以用在等号后不写任何东西表示,或者用 none 关键字:

foo =     ; 将foo设为空字符串

foo = none  ; 将foo设为空字符串

foo = "none" ; 将foo设为字符串\'\'none\'\'



如果你在指令值中使用动态扩展(PHP扩展或Zend扩展)中的常量,

那么你只能在加载这些动态扩展的指令行之后使用这些常量。

httpd.conf ;;

还可以在httpd.conf中覆盖php.ini的值,以进行更灵活的配置:

php_value name value ;设置非bool型的指令,将value设为none则清除先前的设定

php_flag name on|off ;仅用于设置bool型的指令



PHP常量(如E_ALL)仅能在php.ini中使用,在httpd.conf中必须使用相应的掩码值。

带"SYS"标志的指令只能在httpd.conf中的全局配置部分使用,

带"ini"标志的指令不能在httpd.conf中使用,它们仅能用于php.ini中。

====================配置指令详解========================================

以下每个指令的设定值都与 PHP-5.2.0 内建的默认值相同。

也就是说,如果\'\'php.ini\'\'不存在,或者你删掉了某些行,默认值与之相同。

;;;;;;;;;;;;

Apache ;;

;;;;;;;;;;;;

[Apache]

仅在将PHP作为Apache模块时才有效。

engine = On

是否启用PHP解析引擎。

可以在httpd.conf中基于目录或者虚拟主机来打开或者关闭PHP解析引擎。

last_modified = Off

是否在Last-Modified应答头中放置该PHP脚本的最后修改时间。

xbithack = Off

是否不管文件结尾是什么,都作为PHP可执行位组来解析。

child_terminate = Off

PHP脚本在请求结束后是否允许使用apache_child_terminate()函数终止子进程。

该指令仅在UNIX平台上将PHP安装为Apache1.3的模块时可用。其他情况下皆不存在。

;;;;;;;;;;;;;

PHP核心 ;;

;;;;;;;;;;;;;

[PHP-Core-DateTime]

前四个配置选项目前仅用于date_sunrise()和date_sunset()函数。

date.default_latitude = 31.7667

默认纬度

date.default_longitude = 35.2333

默认经度

date.sunrise_zenith = 90.583333

默认日出天顶

date.sunset_zenith = 90.583333

默认日落天顶

date.timezone =

未设定TZ环境变量时用于所有日期和时间函数的默认时区。

中国大陆应当使用"PRC"

应用时区的优先顺序为:

1. 用date_default_timezone_set()函数设定的时区(如果设定了的话)

2. TZ 环境变量(如果非空的话)

3. 该指令的值(如果设定了的话)

4. PHP自己推测(如果操作系统支持)

5. 如果以上都不成功,则使用 UTC

[PHP-Core-Assert]

assert.active = On

是否启用assert()断言评估

assert.bail = Off

是否在发生失败断言时中止脚本的执行

阅读全文>>