本文不是对英文版 php.ini 的简单翻译,而是参考了众多资料以后,结合作者的理解,在原有 php.ini 基础上增加了一些实用模块的配置说明,同时对文件内容的安排进行了调整。由于作者不喜欢 no-free ,所以删除了除 MySQL 和 PostgreSQL 以外的其他数据库模块配置选项。 关于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 是否在发生失败断言时中止脚本的执行 |