适用于php-5.2 的 php.ini 中文版[金步国翻译]
前端之家收集整理的这篇文章主要介绍了
适用于php-5.2 的 php.ini 中文版[金步国翻译],
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于作者水平有限,因此不能保证作品内容准确无误,请在阅读中自行鉴别。如果你发现了作品中的错误,请您来信指出,哪怕是错别字也好,任何提高作品质量的建议我都将虚心接纳。如果你愿意就作品中的相关内容与我进行进一步切磋与探讨,也欢迎你与我联系。联系方式:MSN: csfrank122@hotmail.com@H_403_0@<div class="codetitle"><a style="CURSOR: pointer" data="74970" class="copybut" id="copybut74970" onclick="doCopy('code74970')"> 代码如下:
<div class="codebody" id="code74970">;; 关于
PHP.ini ;; ; 这个
文件必须命名为'
PHP.ini'并放置在httpd.conf中
PHPINIDir指令指定的目录中。 @H_
403_0@; 最新版本的
PHP.ini可以在下面两个位置查看: @H_
403_0@;
http://cvs.
PHP.net/viewvc.cgi/
PHP-src/
PHP.ini-recommended?view=co @H_
403_0@;
http://cvs.
PHP.net/viewvc.cgi/
PHP-src/
PHP.ini-dist?view=co ;; 语法 ;; ; 该
文件的语法非常简单。空白字符和以分号开始的行被简单地忽略。 @H_
403_0@; 章节
标题(例如: [
PHP])也被简单地忽略,即使将来它们可能有某种意义。 ; 设置指令的格式如下: @H_
4030@; directive = value @H4030@; 指令名(directive)是大小写敏感的!所以"foo=bar"不同于"FOO=bar"。 @H4030@; 值(value)可以是: @H4030@; 1. 用引号界定的字符串(如:"foo") @H4030@; 2. 一个数字(整数或浮点数,如:0,1,34,-1,33.55) @H403_0@; 3. 一个
PHP常量(如:E_ALL,M
PI) @H4030@; 4. 一个INI常量(On,Off,none) @H403_0@; 5. 一个表达式(如:E_ALL & ~E_NOTICE) ; INI
文件中的表达式仅使用:位运算符、逻辑非、圆括号: @H_
4030@; | 位或 @H4030@; & 位与 @H4030@; ~ 位非 @H403_0@; ! 逻辑非 ; 布尔标志用 On 表示打开,用 Off 表示
关闭。 ; 一个空字符串可以用在等号后不写任何东西表示,或者用 none 关键字: @H_
4030@; foo = ; 将foo设为空字符串 @H4030@; foo = none ; 将foo设为空字符串 @H403_0@; foo = "none" ; 将foo设为字符串'none' ; 如果你在指令值中使用动态扩展(
PHP扩展或Zend扩展)中的常量, @H_
403_0@; 那么你只能在加载这些动态扩展的指令行之后使用这些常量。 ;; httpd.conf ;; ; 可以在httpd.conf中针对特定虚拟主机或目录覆盖
PHP.ini的值,以进行更灵活的配置: @H_
403_0@;
PHP_admin
value name value ;设置非bool型的指令,将value设为none则清除先前的设定 @H403_0@;
PHP_admin
flag name on|off ;仅用于设置bool型的指令 @H403_0@; [
提示]因为很多指令不允许使用
PHP_value/
PHP_flag进行设置,因此不建议使用这两个。 ;
PHP常量(如E_ALL)仅能在
PHP.ini中使用,在httpd.conf中必须使用相应的掩码值。 ;[2008-3-2日更新] @H_
4030@;========================================================================================== @H4030@;;=====================================配置指令详解======================================== @H4030@;========================================================================================== @H403_0@; 以下每个指令的设定值都与
PHP-5.2.5 内建的默认值相同。 @H_
403_0@; 也就是说,如果'
PHP.ini'不存在,或者你删掉了某些行,默认值与之相同。 ;;;;;;;;;;;;;; @H_
4030@;; Apache ;; [Apache] @H403_0@; 仅在将
PHP作为Apache模块时才有效。 child
terminate = Off @H403_0@;
PHP脚本在请求结束后是否允许使用apache_child_terminate()
函数终止子进程。 @H_
403_0@; 该指令仅在UNIX平台上将
PHP安装为Apache1.3的模块时可用。其他情况下皆不存在。 engine = On @H_
403_0@; 是否启用
PHP解析引擎。 @H_
403_0@;
提示:可以在httpd.conf中基于目录或者虚拟主机来打开或者
关闭PHP解析引擎。 last
modified = Off @H403_0@; 是否在Last-Modified应答头中放置该
PHP脚本的最后
修改时间。 xbithack = Off @H_
403_0@; 是否不管
文件结尾是什么,都作为
PHP可执行位组来解析。 ;;
PHP核心 ;; @H_
403_0@[
PHP-Core-DateTime] @H_
403_0@; 前四个配置选项目前仅用于date_sunrise()和date_sunset()
函数。 date.default
latitude = 31.7667 @H403_0@; 默认纬度 date.default
longitude = 35.2333 @H403_0@; 默认经度 date.sunrise
zenith = 90.583333 @H403_0@; 默认日出天顶 date.sunset
zenith = 90.583333 @H4030@; 默认日落天顶 date.timezone = @H403_0@; 未设定TZ环境变量时用于所有日期和时间
函数的默认时区。 @H_
4030@; 中国大陆应当使用"PRC" @H4030@; 应用时区的优先顺序为: @H403_0@; 1. 用date_default_timezone_set()
函数设定的时区(如果设定了的话) @H_
4030@; 2. TZ 环境变量(如果非空的话) @H4030@; 3. 该指令的值(如果设定了的话) @H403_0@; 4.
PHP自己推测(如果操作系统
支持) @H_
4030@; 5. 如果以上都不成功,则使用 "UTC" @H403_0@[
PHP-Core-Assert] assert.active = On @H_
4030@; 是否启用assert()断言评估 assert.bail = Off @H4030@; 是否在发生失败断言时中止脚本的执行 assert.callback = @H403_0@; 发生失败断言时执行的回调
函数 assert.quiet
eval = Off @H403_0@; 是否使用安静评估(
不显示任何
错误信息,相当于error
reporting=0)。 @H403_0@; 若
关闭则在评估断言表达式的时候使用当前的error
reporting指令值。 assert.warning = On @H4030@; 是否对每个失败断言都发出警告 @H403_0@[
PHP-Core-SafeMode] @H_
403_0@; 安全模式是为了
解决共享服务器的安全问题而设立的。 @H_
403_0@; 但试图在
PHP层
解决这个问题在结构上是不合理的, @H_
403_0@; 正确的做法应当是
修改web服务器层和操作系统层。 @H_
403_0@; 因此在
PHP6中废除了安全模式,并使用基于open
basedir的安全防护。 @H403_0@; 此部分指令在
PHP6中已经全部被
删除。 safe
mode = Off @H4030@; 是否启用安全模式。 @H403_0@; 打开时,
PHP将检查当前脚本的拥有者是否和被操作的
文件的拥有者相同, @H_
403_0@; 相同则允许操作,不同则拒绝操作。 safe_mode
gid = Off @H403_0@; 在安全模式下,默认在访问
文件时会做UID比较检查。 @H_
4030@; 但有些情况下严格的UID检查反而是不适合的,宽松的GID检查已经足够。 @H403_0@; 如果你想将其放宽到仅做GID比较,可以打开这个参数。 safe_mode_allowed_env_vars = "
PHP" @H403_0@; 在安全模式下,
用户仅可以更改的环境变量的前缀列表(逗号分隔)。 @H_
403_0@; 允许
用户设置某些环境变量,可能会导致潜在的安全漏洞。 @H_
403_0@; 注意: 如果这一参数值为空,
PHP将允许
用户更改任意环境变量! safe_mode_protected_env_vars = "LD_LIBRARY
PATH" @H403_0@; 在安全模式下,
用户不能更改的环境变量列表(逗号分隔)。 @H_
403_0@; 这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护。 safe_mode_exec_dir = "/usr/local/
PHP/bin" @H_
403_0@; 在安全模式下,只有该目录下的可执行程序才允许被执行系统程序的
函数执行。 @H_
403_0@; 这些
函数是:system,escapeshellarg,escapeshellcmd,exec,passthru,@H_
403_0@; proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec safe_mode_include
dir = @H403_0@; 在安全模式下,该组目录和其子目录下的
文件被包含时,将跳过UID/GID检查。 @H_
403_0@; 换句话说,如果此处的值为空,任何UID/GID不符合的
文件都不允许被包含。 @H_
403_0@; 这里设置的目录必须已经存在于include
path指令中或者用完整路径来包含。 @H4030@; 多个目录之间用冒号(Win下为分号)隔开。 @H4030@; 指定的限制实际上是一个前缀,而非一个目录名, @H4030@; 也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls" @H403_0@; 如果您希望将访问控制在一个指定的目录,那么请在结尾
加上斜线。 @H_
403_0@[
PHP-Core-Safe] allow_url
fopen = On @H403_0@; 是否允许打开远程
文件 allow_url
include = Off @H403_0@; 是否允许include/require远程
文件。 disable
classes = @H403_0@; 该指令接受一个用逗号分隔的类名列表,以禁用特定的类。 disable
functions = @H403_0@; 该指令接受一个用逗号分隔的
函数名列表,以禁用特定的
函数。 enable
dl = On @H403_0@; 是否允许使用dl()
函数。dl()
函数仅在将
PHP作为apache模块安装时才有效。 @H_
403_0@; 禁用dl()
函数主要是出于安全考虑,因为它可以绕过open
basedir指令的限制。 @H403_0@; 在安全模式下始终禁用dl()
函数,而不管此处如何设置。 @H_
403_0@;
PHP6中
删除了该指令,相当于设为Off。 expose_
PHP = On @H_
403_0@; 是否暴露
PHP被安装在服务器上的事实(在http头中
加上其签名)。 @H_
403_0@; 它不会有安全上的直接威胁,但它使得客户端知道服务器上安装了
PHP。 open
basedir = @H403_0@; 将
PHP允许操作的所有
文件(
包括文件自身)都限制在此组目录列表下。 @H_
403_0@; 当一个脚本试图打开一个指定目录树之外的
文件时,将遭到拒绝。 @H_
4030@; 所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。 @H4030@; 特殊值'.'指定了存放该脚本的目录将被当做基准目录, @H4030@; 但这有些危险,因为脚本的工作目录可以轻易被chdir()改变。 @H4030@; 对于共享服务器,在httpd.conf中针对不同的虚拟主机或目录灵活设置该指令将变得非常有用。 @H4030@; 在Windows中用分号分隔目录,UNIX系统中用冒号分隔目录。 @H403_0@; 作为Apache模块时,父目录中的open_basedir路径将
自动被继承。 @H_
4030@; 指定的限制实际上是一个前缀,而非一个目录名, @H4030@; 也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls", @H403_0@; 如果您希望将访问控制在一个指定的目录,那么请在结尾
加上一个斜线。 @H_
403_0@; 默认是允许打开所有
文件。
sql.safe
mode = Off @H403_0@; 是否使用
sql安全模式。 @H_
403_0@; 如果打开,指定默认值的
数据库连接
函数将会使用这些默认值代替
支持的参数。 @H_
403_0@; 对于每个不同
数据库的连接
函数,其默认值请参考相应的手册
页面。 @H_
403_0@[
PHP-Core-Error] error_reporting = E_ALL & ~E
NOTICE @H403_0@;
错误报告级别是位字段的叠加,推荐使用 E_ALL | E
STRICT @H403_0@; 1 E_ERROR 致命的运行时
错误 @H_
403_0@; 2 E_WARNING 运行时警告(非致命性
错误) @H_
403_0@; 4 E_PARSE 编译时解析
错误 @H_
403_0@; 8 E
NOTICE 运行时提醒(经常是bug,也可能是有意的) @H403_0@; 16 E_CORE_ERROR
PHP启动时初始化过程中的致命
错误 @H_
403_0@; 32 E_CORE_WARNING
PHP启动时初始化过程中的警告(非致命性错) @H_
403_0@; 64 E_COMPILE
ERROR 编译时致命性错 @H403_0@; 128 E_COMPILE
WARNING 编译时警告(非致命性错) @H403_0@; 256 E_USER_ERROR
用户自定义的致命
错误 @H_
403_0@; 512 E_USER_WARNING
用户自定义的警告(非致命性
错误) @H_
403_0@; 1024 E_USER_NOTICE
用户自定义的提醒(经常是bug,也可能是有意的) @H_
403_0@; 2048 E_STRICT 编码标准化警告(建议如何
修改以向前兼容) @H_
403_0@; 4096 E_RECOVERABLE_ERROR 接近致命的运行时
错误,若未被捕获则视同E
ERROR @H403_0@; 6143 E_ALL 除E_STRICT外的所有
错误(
PHP6中为8191,即包含所有) @H_
403_0@; 也可以用2147483647(所有二进制位全为1)打开现在或将来可能出现的各种
错误 track
errors = Off @H403_0@; 是否在变量$
PHP_errormsg中保存最近一个
错误或警告消息。 display
errors = On @H403_0@; 是否将
错误信息作为
输出的一部分
显示。 @H_
403_0@; 在最终发布的web
站点上,强烈建议你关掉这个特性,并使用
错误日志代替(参看下面)。 @H_
403_0@; 在最终发布的web
站点打开这个特性可能暴露一些安全信息, @H_
403_0@; 例如你的web服务上的
文件路径、
数据库规划或别的信息。 display_startup
errors = Off @H403_0@; 是否
显示PHP启动时的
错误。 @H_
403_0@; 即使display_errors指令被打开,
关闭此参数也将
不显示PHP启动时的
错误。 @H_
403_0@; 建议你关掉这个特性,除非你必须要用于调试中。 report
memleaks = On @H403_0@; 是否报告内存泄漏。这个参数只在以调试方式编译的
PHP中起作用, @H_
403_0@; 并且必须在error_reporting指令中包含 E_WARNING report_zend
debug = On @H403_0@; 尚无说明文档 html
errors = On @H403_0@; 是否在出错信息中使用HTML
标记。 @H_
403_0@; 注意: 不要在发布的
站点上使用这个特性! docref_root = ;"
http://localhost/PHPmanual/" @H_
403_0@docref
ext = ;".html" @H403_0@; 如果打开了html_errors指令,
PHP将会在出错信息上
显示超连接, @H_
403_0@; 直接
链接到一个说明这个
错误或者导致这个
错误的
函数的
页面。 @H_
403_0@; 你可以从http://www.
PHP.net/docs.
PHP下载
PHP手册, @H_
403_0@; 并将docref
root指令指向你本地的手册所在的URL目录。 @H403_0@; 你还必须设置docref_ext指令来指定
文件的扩展名(必须含有'.')。 @H_
403_0@; 注意: 不要在发布的
站点上使用这个特性。 error_prepend
string = ;"" @H403_0@; 用于
错误信息前
输出的字符串 @H_
403_0@error_append
string = ;"" @H403_0@; 用于
错误信息后
输出的字符串 xmlrpc
errors = Off @H403_0@xmlrpc_error
number = 0 @H4030@; 尚无文档 @H403_0@[
PHP-Core-Logging] define_syslog
variables = Off @H403_0@; 是否定义各种系统日志变量,如:$LOG_PID,$LOG
CRON 等等。 @H4030@; 关掉它以提高效率的好主意。 @H403_0@; 你可以在运行时
调用define_syslog_variables()
函数来定义这些变量。 error
log = @H403_0@; 将
错误日志记录到哪个
文件中。该
文件必须对Web服务器
用户可写。 @H_
4030@; syslog 表示记录到系统日志中(NT下的事件日志,Unix下的syslog(3)) @H403_0@; 如果此处未设置任何值,则
错误将被记录到Web服务器的
错误日志中。 log
errors = Off @H403_0@; 是否在日志
文件里记录
错误,具体在哪里记录取决于error
log指令。 @H403_0@; 强烈建议你在最终发布的web
站点时使用日志记录
错误而不是直接
输出, @H_
403_0@; 这样可以让你既知道那里出了问题,又不会暴露敏感信息。 log_errors_max
len = 1024 @H403_0@; 设置
错误日志中附加的与
错误信息相关联的
错误源的最大长度。 @H_
403_0@; 这里设置的值对
显示的和记录的
错误以及$
PHPerrormsg都有效。 @H403_0@; 设为 0 可以允许无限长度。 ignore_repeated
errors = Off @H403_0@; 记录
错误日志时是否忽略重复的
错误信息。 @H_
403_0@;
错误信息必须出现在同一
文件的同一行才被被视为重复。 ignore_repeated
source = Off @H403_0@; 是否在忽略重复的
错误信息时忽略重复的
错误源。 @H_
403_0@[
PHP-Core-Mail] @H_
403_0@; 要使
邮件函数可用,
PHP必须在编译时能够访问sendmail程序。 @H_
403_0@; 如果使用其它的
邮件程序,如qmail或postfix,确保使用了相应的sendmail包装。 @H_
403_0@;
PHP首先会在系统的PATH环境变量中
搜索sendmail,接着按以下顺序
搜索: @H_
4030@; /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib @H4030@; 强烈建议在PATH中能够找到sendmail。 @H403_0@; 另外,编译
PHP的
用户必须能够访问sendmail程序。 SMTP = "localhost" @H_
403_0@; mail()
函数中用来
发送邮件的SMTP服务器的主机
名称或者IP地址。仅用于win32。 smtp
port = 25 @H403_0@; SMTP服务器的端口号。仅用于win32。 sendmail
from = @H403_0@;
发送邮件时使用的"From:"头中的
邮件地址。仅用于win32 @H_
403_0@; 该选项还同时设置了"Return-Path:"头。 sendmail
path = "-t -i" @H403_0@; 仅用于unix,也可
支持参数(默认的是'sendmail -t -i') @H_
4030@; sendmail程序的路径,通常为"/usr/sbin/sendmail或/usr/lib/sendmail"。 @H4030@; configure脚本会尝试找到该程序并设定为默认值,但是如果失败的话,可以在这里设定。 @H4030@; 不使用sendmail的系统应将此指令设定为sendmail替代程序(如果有的话)。 @H403_0@; 例如,Qmail
用户通常可以设为"/var/qmail/bin/sendmail"或"/var/qmail/bin/qmail-inject"。 @H_
403_0@; qmail-inject 不需要任何选项就能正确处理
邮件。 mail.force_extra
parameters = @H4030@; 作为额外的参数传递给sendmail库的强制指定的参数附加值。 @H4030@; 这些参数总是会替换掉mail()的第5个参数,即使在安全模式下也是如此。 @H403_0@[
PHP-Core-ResourceLimit] default_socket
timeout = 60 @H403_0@; 默认socket超时(秒) max_execution
time = 30 @H4030@; 每个脚本最大允许执行时间(秒),0 表示没有限制。 @H4030@; 这个参数有助于阻止劣质脚本无休止的占用服务器资源。 @H4030@; 该指令仅影响脚本本身的运行时间,任何其它花费在脚本运行之外的时间, @H403_0@; 如用system()/sleep()
函数的使用、
数据库查询、
文件上传等,都不
包括在内。 @H_
403_0@; 在安全模式下,你不能用ini_set()在运行时改变这个设置。 memory
limit = 128M @H4030@; 一个脚本所能够申请到的最大内存字节数(可以使用K和M作为单位)。 @H4030@; 这有助于防止劣质脚本消耗完服务器上的所有内存。 @H4030@; 要能够使用该指令必须在编译时使用"--enable-memory-limit"配置选项。 @H4030@; 如果要取消内存限制,则必须将其设为 -1 。 @H403_0@; 设置了该指令后,memory_get_usage()
函数将变为可用。 max_input
time = -1 @H4030@; 每个脚本解析输入数据(POST,GET,upload)的最大允许时间(秒)。 @H403_0@; -1 表示不限制。 max_input_nesting
level = 64 @H403_0@; 输入变量的最大嵌套深度(尚无更多解释文档) post_max
size = 8M @H403_0@; 允许的POST数据最大字节长度。此设定也影响到
文件上传。 @H_
403_0@; 如果POST数据超出限制,那么$_POST和$
FILES将会为空。 @H403_0@; 要
上传大
文件,该值必须大于upload_max
filesize指令的值。 @H403_0@; 如果启用了内存限制,那么该值应当小于memory_limit指令的值。 realpath_cache
size = 16K @H403_0@; 指定
PHP使用的realpath(规范化的
绝对路径名)缓冲区大小。 @H_
403_0@; 在
PHP打开大量
文件的系统上应当增大该值以提高
性能。 realpath_cache
ttl = 120 @H4030@; realpath缓冲区中信息的有效期(秒)。 @H403_0@; 对
文件很少变动的系统,可以增大该值以提高
性能。 @H_
403_0@[
PHP-Core-FileUpLoad] file
uploads = On @H403_0@; 是否允许HTTP
文件上传。 @H_
403_0@; 参见upload_max_filesize,upload_tmp_dir,post_max_size指令 upload_max
filesize = 2M @H403_0@; 允许
上传的
文件的最大尺寸。 upload_tmp
dir = @H403_0@;
文件上传时存放
文件的临时目录(必须是
PHP进程
用户可写的目录)。 @H_
403_0@; 如果未指定则
PHP使用系统默认的临时目录。 @H_
403_0@[
PHP-Core-MagicQuotes] @H_
403_0@;
PHP6
删除了下列指令,相当于全部为 Off magic_quotes
gpc = Off @H403_0@; 是否对输入的GET/POST/Cookie数据使用
自动字符串转义( ' " \ NULL )。 @H_
403_0@; 这里的设置将
自动影响 $_GEST $_POST $
COOKIE 数组的值。 @H403_0@; 若将本指令与magic_quotes
sybase指令同时打开,则仅将单引号(')转义为(''), @H4030@; 其它特殊字符将不被转义,即( " \ NULL )将保持原样!! @H403_0@; 建议
关闭此特性,并使用
自定义的过滤
函数。 magic_quotes
runtime = Off @H403_0@; 是否对运行时从外部资源产生的数据使用
自动字符串转义( ' " \ NULL )。 @H_
403_0@; 若打开本指令,则大多数
函数从外部资源(
数据库,文本
文件等)返回数据都将被转义。 @H_
403_0@; 例如:用
SQL查询得到的数据,用exec()
函数得到的数据,等等 @H_
403_0@; 若将本指令与magic_quotes
sybase指令同时打开,则仅将单引号(')转义为(''), @H4030@; 其它特殊字符将不被转义,即( " \ NULL )将保持原样!! @H403_0@; 建议
关闭此特性,并视具体情况使用
自定义的过滤
函数。 magic_quotes
sybase = Off @H403_0@; 是否采用Sybase形式的
自动字符串转义(用 '' 表示 ') @H_
403_0@[
PHP-Core-HighLight] highlight.bg = "#FFFFFF" @H_
4030@highlight.comment = "#FF8000" @H4030@highlight.default = "#0000BB" @H4030@highlight.html = "#000000" @H4030@highlight.keyword = "#007700" @H4030@highlight.string = "#DD0000" @H403_0@; 语法高亮模式的色彩(通常用于
显示 .
PHPs
文件)。 @H_
4030@; 只要能被接受的东西就能正常工作。 @H403_0@[
PHP-Core-Langue] short_open
tag = On @H4030@; 是否允许使用"<? ?>"短标识。否则必须使用"<?php ?>"长标识。 @H403_0@; 除非你的
PHP程序仅在受控环境下运行,且只供自己使用,否则请不要使用短
标记。 @H_
403_0@; 如果要和XML结合使用
PHP,可以选择
关闭此选项以方便直接嵌入"<?xml ... ?>", @H_
403_0@; 不然你必须用
PHP来
输出:<? echo '<?xml version="1.0"'; ?> @H_
403_0@; 本指令也会影响到缩写形式"<?=",它和"<? echo"等价,要使用它也必须打开短
标记。 asp
tags = Off @H403_0@; 是否允许ASP风格的
标记"<% %>",这也会影响到缩写形式"<%="。 @H_
403_0@;
PHP6中将
删除此指令 arg
separator.output = "&" @H403_0@;
PHP所产生的URL中用来分隔参数的分隔符。 @H_
403_0@; 另外还可以用"&"或","等等。 arg
separator.input = "&" @H403_0@;
PHP解析URL中的变量时使用的分隔符列表。 @H_
4030@; 字符串中的每一个字符都会被当作分割符。 @H403_0@; 另外还可以用",&"等等。 allow_call_time_pass
reference = On @H403_0@; 是否强迫在
函数调用时按引用传递参数(每次使用此特性都会收到一条警告)。 @H_
403_0@;
PHP反对这种做法,并在
PHP6里
删除了该指令(相当于设为Off),因为它影响到了
代码的整洁。 @H_
403_0@; 鼓励的
方法是在
函数声明里明确指定哪些参数按引用传递。 @H_
403_0@; 我们鼓励你
关闭这一选项,以保证你的脚本在将来版本的语言里仍能正常工作。 auto_globals
jit = On @H403_0@; 是否仅在使用到$_SERVER和$_ENV变量时才创建(而不是在脚本一启动时就
自动创建)。 @H_
403_0@; 如果并未在脚本中使用这两个数组,打开该指令将会获得
性能上的提升。 @H_
403_0@; 要想该指令生效,必须
关闭register_globals和register_long_arrays指令。 auto_prepend
file = @H403_0@auto_append
file = @H403_0@; 指定在主
文件之前/后
自动解析的
文件名。为空表示禁用该特性。 @H_
403_0@; 该
文件就像
调用了include()
函数被包含进来一样,因此会使用include
path指令的值。 @H403_0@; 注意:如果脚本通过exit()终止,那么
自动后缀将不会发生。 variables
order = "EGPCS" @H403_0@;
PHP注册 Environment,POST,Cookie,Server 变量的顺序。 @H_
403_0@; 分别用 E,G,P,C,S 表示,按从左到右
注册,新值覆盖旧值。 @H_
4030@; 举例说,设为"GP"将会导致用POST变量覆盖同名的GET变量, @H4030@; 并完全忽略 Environment,Server 变量。 @H403_0@; 推荐使用"GPC"或"GPCS",并使用getenv()
函数访问环境变量。 register
globals = Off @H403_0@; 是否将 E,S 变量
注册为
全局变量。 @H_
4030@; 打开该指令可能会导致严重的安全问题,除非你的脚本经过非常仔细的检查。 @H403_0@; 推荐使用预定义的超
全局变量:$_ENV,$_GET,$_POST,$_COOKIE,$
SERVER @H403_0@; 该指令受variables
order指令的影响。 @H403_0@;
PHP6中已经
删除此指令。 register_argc
argv = On @H403_0@; 是否声明$argv和$argc
全局变量(包含用GET
方法的信息)。 @H_
403_0@; 建议不要使用这两个变量,并关掉该指令以提高
性能。 register_long
arrays = On @H4030@; 是否启用旧式的长式数组(HTTP*
VARS)。 @H403_0@; 鼓励使用短式的预定义超全局数组,并
关闭该特性以获得更好的
性能。 @H_
403_0@;
PHP6中已经
删除此指令。 always_populate_raw_post
data = Off @H403_0@; 是否总是
生成$HTTP_RAW_POST
DATA变量(原始POST数据)。 @H4030@; 否则,此变量仅在遇到不能识别的MIME类型的数据时才产生。 @H403_0@; 不过,访问原始POST数据的更好
方法是
PHP://input 。 @H_
403_0@; $HTTP_RAW_POST_DATA对于enctype="multipart/form-data"的表单数据不可用。 unserialize_callback
func = @H4030@; 如果解序列化处理器需要实例化一个未定义的类, @H403_0@; 这里指定的回调
函数将以该未定义类的名字作为参数被unserialize()
调用, @H_
403_0@; 以免得到不完整的"__
PHP_Incomplete
Class"对象。 @H403_0@; 如果这里没有指定
函数,或指定的
函数不包含(或实现)那个未定义的类,将会
显示警告信息。 @H_
403_0@; 所以仅在确实需要实现这样的回调
函数时才设置该指令。 @H_
403_0@; 若要
禁止这个特性,只需置空即可。 y2k
compliance = On @H403_0@; 是否强制打开2000年适应(可能在非Y2K适应的浏览器中导致问题)。 zend.ze1_compatibility
mode = Off @H403_0@; 是否使用兼容Zend引擎I(
PHP 4.x)的模式。
PHP6中将
删除该指令(相当于Off)。 @H_
403_0@; 这将影响对象的复制、构造(无
属性的对象会产生FALSE或0)、比较。 @H_
4030@; 兼容模式下,对象将按值传递,而不是默认的按引用传递。 precision = 14 @H403_0@; 浮点型数据
显示的有效位数。 serialize
precision = 100 @H4030@; 将浮点型和双精度型数据序列化存储时的精度(有效位数)。 @H403_0@; 默认值能够确保浮点型数据被解序列化程序解码时
不会丢失数据。 @H_
403_0@[
PHP-Core-OutputControl] @H_
403_0@;
输出控制
函数很有用,特别是在已经
输出了信息之后再发送HTTP头的情况下。 @H_
403_0@;
输出控制
函数不会作用于header()或setcookie()等
函数发送的HTTP头, @H_
403_0@; 而只会影响类似于echo()
函数输出的信息和嵌入在
PHP代码之间的信息。 implicit
flush = Off @H403_0@; 是否要求
PHP输出层在每个
输出块之后
自动刷新数据。 @H_
403_0@; 这等效于在每个 print()、echo()、HTML块 之后
自动调用flush()
函数。 @H_
403_0@; 打开这个选项对程序执行的
性能有严重的影响,通常只推荐在调试时使用。 @H_
403_0@; 在CLI SAPI的执行模式下,该指令默认为 On 。 output
buffering = 0 @H403_0@;
输出缓冲区大小(字节)。建议值为4096~8192。 @H_
403_0@;
输出缓冲允许你甚至在
输出正文
内容之后再发送HTTP头(
包括cookies)。 @H_
403_0@; 其代价是
输出层减慢一点点速度。 @H_
403_0@; 设置
输出缓冲可以减少写入,有时还能减少网络数据包的发送。 @H_
403_0@; 这个参数的实际收益很大程度上取决于你使用的是什么Web服务器以及什么样的脚本。 output
handler = @H403_0@; 将所有脚本的
输出重定向到一个
输出处理
函数。 @H_
403_0@; 比如,
重定向到mb_output_handler()
函数时,字符编码将被透明地转换为指定的编码。 @H_
403_0@; 一旦你在这里指定了
输出处理程序,
输出缓冲将被
自动打开(output
buffering=4096)。 @H403_0@; 注意0: 此处仅能使用
PHP内置的
函数,
自定义函数应在脚本中使用ob
start()指定。 @H403_0@; 注意1: 可移植脚本不能依赖该指令,而应使用ob_start()
函数明确指定
输出处理
函数。 @H_
4030@; 使用这个指令可能会导致某些你不熟悉的脚本出错。 @H403_0@; 注意2: 你不能同时使用"mb_output_handler"和"ob_iconv_handler"两个
输出处理
函数。 @H_
403_0@; 你也不能同时使用"ob_gzhandler"
输出处理
函数和zlib.output
compression指令。 @H403_0@; 注意3: 如果使用zlib.output_handler指令开启zlib
输出压缩,该指令必须为空。 @H_
403_0@[
PHP-Core-Directory] include_path = ".:/path/to/
PHP/pear" @H_
403_0@; 指定一组目录用于require(),include(),fopen_with_path()
函数寻找
文件。 @H_
4030@; 格式和系统的PATH环境变量类似(UNIX下用冒号分隔,Windows下用分号分隔): @H4030@; UNIX: "/path1:/path2" @H4030@; Windows: "\path1;\path2" @H403_0@; 在包含路径中使用'.'可以允许相对路径,它代表当前目录。 user
dir = @H403_0@; 告诉
PHP在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。 @H_
403_0@; 也就是在
用户目录之下使用
PHP文件的基本目录名,例如:"public_html" extension_dir = "/path/to/
PHP" @H_
403_0@; 存放扩展库(模块)的目录,也就是
PHP用来寻找动态扩展模块的目录。 @H_
403_0@; Windows下默认为"C:/
PHP5" @H_
403_0@[
PHP-Core-HTTP] default
mimetype = "text/html" @H403_0@default
charset = ;"gb2312" @H403_0@;
PHP默认会
自动输出"Content-Type: text/html" HTTP头。 @H_
403_0@; 如果将default
charset指令设为"gb2312", @H403_0@; 那么将会
自动输出"Content-Type: text/html; charset=gb2312"。 @H_
403_0@;
PHP6
反对使用default_charset指令,而推荐使用unicode.output
encoding指令。 @H403_0@[
PHP-Core-Unicode] @H_
403_0@;
PHP6基于ICU(International Components for Unicode)库提供了全面的Unicode
支持。 @H_
403_0@; 编译时需要使用--with-icu-dir=
指定ICU头文件和库的安装位置。 @H_403_0@; 除detect_unicode外,其他都是PHP6新增的指令。 ; PHP6的信息目前还很缺乏,所以此部分内容可能不完整甚至有错误。 detectunicode = On @H403_0@; 指示Zend引擎是否通过检查脚本的BOM(字节顺序标记)来检测脚本是否包含多字节字符。 @H_403_0@; 建议关闭。PHP6已经取消了此指令而用unicode.script_encoding指令来代替其功能。 unicode.semantics = Off @H_403_0@; 是否启用Unicode支持。 @H_403_0@; 如果打开此指令,那么PHP将变成一个完全的Unicode环境,比如: @H_403_0@; 所有字符串和从HTTP接受的变量都将变成Unicode,所有PHP标识符也都可以使用Unicode字符。 @H_403_0@; 而且,PHP内部将使用Unicode字符串并负责对外围非Unicode字符进行自动转换, @H_403_0@; 比如:HTTP输入输出、流、文件系统操作等等,甚至连PHP.ini自身都将按照UTF-8编码来解析。 @H_403_0@; 开启这个指令后,你必须明确指定二进制字符串。PHP将不对二进制字符串的内容做任何假定, @H_4030@; 因此你的程序必须保证能够恰当的处理二进制字符串。 @H403_0@; 如果关闭这个指令,PHP的行为将和以前的行为完全相同: @H_403_0@; 字符串不会变成Unicode,文件和二进制字符串也将向后兼容,PHP.ini也将按照"as-is"风格解析。 @H_403_0@; 不管是否打开此指令,所有的函数和操作符都透明的支持Unicode字符串。 unicode.fallbackencoding = UTF-8 @H403_0@; 为其他所有unicode.encoding指令设置默认值。 @H403_0@; 也就是说如果某个unicode._encoding指令未明确设置的话,将使用此处设置的值。 unicode.runtimeencoding = @H403_0@; 运行时编码指定了PHP引擎内部转换二进制字符串时使用的编码。 @H_403_0@; 此处的设置对于I/O相关操作(比如:写入标准输出/读取文件系统/解码HTTP输入变量)没有影响。 @H_403_0@; PHP也允许你明确的对字符串进行转换: @H_4030@; (binary)$str -- 转化为二进制字符串 @H4030@; (unicode)$str -- 转化为Unicode字符串 @H4030@; (string)$str -- 如果unicode.semantics为On则转化为Unicode字符串,否则转化为二进制字符串 @H4030@; 例如,如果该指令的值为iso-8859-1并且$uni是一个Unicode字符串,那么 @H4030@; $str = (binary)$uni @H4030@; 将等到一个使用iso-8859-1编码的二进制字符串。 @H403_0@; 在连接、比较、传递参数等操作之前PHP会将相关字符串隐含转换为Unicode,然后再进行操作。 @H_4030@; 比如在将二进制字符串与Unicode进行连接的时候, @H403_0@; PHP将会使用这里的设置将二进制字符串转换为Unicode字符串,然后再进行操作。 unicode.outputencoding = @H403_0@; PHP输出非二进制字符串使用的编码。 @H_403_0@; 自动将'print'和'echo'之类的输出内容转换为此处设定的编码(并不对二进制字符串进行转换)。 @H_403_0@; 当向文件之类的外部资源写入数据的时候, @H_403_0@; 你必须依赖于流编码特性或者使用Unicode扩展的函数手动的对数据进行编码。 @H_403_0@; 在PHP6中反对使用先前的defaultcharset指令,而推荐使用该指令。 @H403_0@; 先前的default_charset指令只是指定了Content-Type头中的字符集,而并不对实际的输出做任何转换。 @H_403_0@; 而在PHP6中,defaultcharset指令仅在unicode.semantics为off的时候才有效。 @H403_0@; 设置了该指令后将在Content-Type输出头的'charset'部分填上该指令的值, @H_403_0@; 而不管default_charset指令如何设置。 unicode.http_inputencoding = @H403_0@; 通过HTTP获取的变量(比如$GET和$POST)内容的编码。 @H_403_0@; 直到2007年4月此功能尚在开发中.... unicode.filesystemencoding = @H403_0@; 文件系统的目录名和文件名的编码。 @H_403_0@; 文件系统相关的函数(比如opendir())将使用这个编码接受和返回文件名和目录名。 @H_403_0@; 此处的设置必须与文件系统实际使用的编码完全一致。 unicode.scriptencoding = @H403_0@; PHP脚本自身的默认编码。 @H_403_0@; 你可以使用任何ICU支持的编码来写PHP脚本。 @H_403_0@; 如果你想针对单独的脚本文件设定其编码,可以在该脚本的开头使用 @H_4030@; <?php declare(encoding = 'Shift-JIS'); ?> @H403_0@; 来指定。注意:必须是第一行开头,全面不要有任何字符(包括空白)。 @H_403_0@; 该方法只能影响其所在的脚本,不会影响任何被包含的其他脚本。 unicode.streamencoding = UTF-8 @H403_0@unicode.from_errormode = 2 @H403_0@unicode.from_error_substchar = 3f @H4030@; 尚无文档 @H403_0@[PHP-Core-Misc] auto_detect_lineendings = Off @H403_0@; 是否让PHP自动侦测行结束符(EOL)。 @H_403_0@; 如果的你脚本必须处理Macintosh文件, @H_403_0@; 或者你运行在Macintosh上,同时又要处理unix或win32文件, @H_403_0@; 打开这个指令可以让PHP自动侦测EOL,以便fgets()和file()函数可以正常工作。 @H_4030@; 但同时也会导致在Unix系统下使用回车符(CR)作为项目分隔符的人遭遇不兼容行为。 @H403_0@; 另外,在检测第一行的EOL习惯时会有很小的性能损失。 browscap = ;"c:/windows/system32/inetsrv/browscap.ini" @H_4030@; 只有PWS和IIS需要这个设置 @H4030@; 你可以从http://www.garykeith.com/browsers/downloads.asp @H403_0@; 得到一个browscap.ini文件。 ignore_userabort = Off @H403_0@; 是否即使在用户中止请求后也坚持完成整个请求。 @H_4030@; 在执行一个长请求的时候应当考虑打开该它, @H403_0@; 因为长请求可能会导致用户中途中止或浏览器超时。 user_agent = ;"PHP" @H_403_0@; 定义"User-Agent"字符串 ;urlrewriter.tags = "a=href,area=href,frame=src,form=,fieldset=" @H403_0@; 虽然此指令属于PHP核心部分,但是却用于Session模块的配置 ;extension = @H_403_0@; 在PHP启动时加载动态扩展。例如:extension=MysqLi.so @H_403_0@; "="之后只能使用模块文件的名字,而不能含有路径信息。 @H_403_0@; 路径信息应当只由extensiondir指令提供。 @H4030@; 主意,在windows上,下列扩展已经内置: @H403_0@; bcmath ; calendar ; comdotnet ; ctype ; session ; filter ; ftp ; hash @H4030@; iconv ; json ; odbc ; pcre ; Reflection ; date ; libxml ; standard @H4030@; tokenizer ; zlib ; SimpleXML ; dom ; SPL ; wddx ; xml ; xmlreader ; xmlwriter @H403_0@[PHP-Core-CGI] @H_403_0@; 这些指令只有在将PHP运行在CGI模式下的时候才有效 docroot = @H403_0@; PHP的"CGI根目录"。仅在非空时有效。 @H_4030@; 在web服务器的主文档目录(比如"htdocs")中放置可执行程序/脚本被认为是不安全的, @H403_0@; 比如因为配置错误而将脚本作为普通的html显示。 @H_403_0@; 因此很多系统管理员都会在主文档目录之外专门设置一个只能通过CGI来访问的目录, @H_403_0@; 该目录中的内容只会被解析而不会原样显示出来。 @H_403_0@; 如果设置了该项,那么PHP就只会解释doc_root目录下的文件, @H_403_0@; 并确保目录外的脚本都不会被PHP解释器执行(userdir除外)。 @H403_0@; 如果编译PHP时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行, @H_4030@; 则必须设置此指令(参见手册中的安全部分)。 @H403_0@; 替代方案是使用的cgi.force_redirect指令。 cgi.discardpath = Off @H403_0@; 尚无文档(PHP6新增指令) cgi.fixpathinfo = On @H403_0@; 是否为CGI提供真正的 PATH_INFO/PATH_TRANSLATED 支持(遵守cgi规范)。 @H_403_0@; 先前的行为是将PATH_TRANSLATED设为SCRIPT_FILENAME,而不管PATHINFO是什么。 @H403_0@; 打开此选项将使PHP修正其路径以遵守CGI规范,否则仍将使用旧式的不合规范的行为。 @H_403_0@; 鼓励你打开此指令,并修正脚本以使用 SCRIPT_FILENAME 代替 PATHTRANSLATED 。 @H403_0@; 有关PATH_INFO的更多信息请参见cgi规范。 cgi.forceredirect = On @H403_0@; 是否打开cgi强制重定向。强烈建议打开它以为CGI方式运行的PHP提供安全保护。 @H_403_0@; 你若自己关闭了它,请自己负责后果。 @H_403_0@; 注意:在IIS/OmniHTTPD/Xitami上则必须关闭它! cgi.redirect_statusenv = @H403_0@; 如果cgi.force_redirect=On,并且在Apache与Netscape之外的服务器下运行PHP, @H_403_0@; 可能需要设定一个cgi重定向环境变量名,PHP将去寻找它来知道是否可以继续执行下去。 @H_403_0@; 设置这个变量会导致安全漏洞,请务必在设置前搞清楚自己在做什么。 cgi.rfc2616headers = 0 @H403_0@; 指定PHP在发送HTTP响应代码时使用何种报头。 @H_403_0@; 0 表示发送一个"Status: "报头,Apache和其它web服务器都支持。 @H_403_0@; 若设为1,则PHP使用RFC2616标准的头。 @H_4030@; 除非你知道自己在做什么,否则保持其默认值 0 cgi.nph = Off @H403_0@; 在CGI模式下是否强制对所有请求都发送"Status: 200"状态码。 cgi.check_shebangline =On @H403_0@; CGI PHP是否检查脚本顶部以 #! 开始的行。 @H_403_0@; 如果脚本想要既能够单独运行又能够在PHP CGI模式下运行,那么这个起始行就是必须的。 @H_403_0@; 如果打开该指令,那么CGI模式的PHP将跳过这一行。 fastcgi.impersonate = Off @H_403_0@; IIS中的FastCGI支持模仿客户端安全令牌的能力。 @H_4030@; 这使得IIS能够定义运行时所基于的请求的安全上下文。 @H403_0@; Apache中的mod_fastcgi不支持此特性(03/17/2002) @H_4030@; 如果在IIS中运行则设为On,默认为Off。 fastcgi.logging = On @H4030@; 是否记录通过FastCGI进行的连接。 @H403_0@[PHP-Core-Weirdy] @H_403_0@; 这些选项仅存在于文档中,却不存在于PHPinfo()函数的输出中 asyncsend = Off @H4030@; 是否异步发送。 from = ;"john@doe.com" @H4030@; 定义匿名ftp的密码(一个email地址) ;; 近核心模块 ;; @H4030@[Pcre] @H403_0@;Perl兼容正则表达式模块 pcre.backtracklimit = 100000 @H403_0@; PCRE的最大回溯(backtracking)步数。 pcre.recursionlimit = 100000 @H4030@; PCRE的最大递归(recursion)深度。 @H403_0@; 如果你将该值设的非常高,将可能耗尽进程的栈空间,导致PHP崩溃。 @H_4030@[Session] @H403_0@; 除非使用session_register()或$_SESSION注册了一个变量。 @H_403_0@; 否则不管是否使用了session_start(),都不会自动添加任何session记录。 @H_403_0@; 包括resource变量或有循环引用的对象包含指向自身的引用的对象,不能保存在会话中。 @H_403_0@; register_globals指令会影响到会话变量的存储和恢复。 session.savehandler = "files" @H403_0@; 存储和检索与会话关联的数据的处理器名字。默认为文件("files")。 @H_403_0@; 如果想要使用自定义的处理器(如基于数据库的处理器),可用"user"。 @H_4030@; 设为"memcache"则可以使用memcache作为会话处理器(需要指定"--enable-memcache-session"编译选项)。 @H403_0@; 还有一个使用Postgresql的处理器:http://sourceforge.net/projects/PHPform-ext/ session.savepath = "/tmp" @H403_0@; 传递给存储处理器的参数。对于files处理器,此值是创建会话数据文件的路径。 @H_403_0@; Windows下默认为临时文件夹路径。 @H_4030@; 你可以使用"N;[MODE;]/path"这样模式定义该路径(N是一个整数)。 @H403_0@; N表示使用N层深度的子目录,而不是将所有数据文件都保存在一个目录下。 @H_403_0@; [MODE;]可选,必须使用8进制数,默认"600",表示文件的访问权限。 @H_403_0@; 这是一个提高大量会话性能的好主意。 @H_4030@; 注意0: "N;[MODE;]/path"两边的双引号不能省略。 @H4030@; 注意1: [MODE;]并不会改写进程的umask。 @H403_0@; 注意2: PHP不会自动创建这些文件夹结构。请使用ext/session目录下的modfiles.sh脚本创建。 @H403_0@; 注意3: 如果该文件夹可以被不安全的用户访问(比如默认的"/tmp"),那么将会带来安全漏洞。 @H_403_0@; 注意4: 当N>0时自动垃圾回收将会失效,具体参见下面有关垃圾搜集的部分。 @H_403_0@; [安全提示]建议针对每个不同的虚拟主机分别设置各自不同的目录。 ; 对于"memcache"处理器,需要定义一个逗号分隔的服务器URL用来存储会话数据。 @H_4030@; 比如:"tcp://host1:11211,tcp://host2:11211" @H403_0@; 每个URL都可以包含传递给那个服务器的参数,可用的参数与 Memcache::addServer() 方法相同。 @H_403_0@; 例如:"tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15" session.name = "PHPSESSID" @H_403_0@;用在cookie里的会话ID标识名,只能包含字母和数字。 session.autostart = Off @H403_0@; 在客户访问任何页面时都自动初始化会话,默认禁止。 @H_403_0@; 因为类定义必须在会话启动之前被载入,所以若打开这个选项,你就不能在会话中存放对象。 session.serialize_handler = "PHP" @H_403_0@; 用来序列化/解序列化数据的处理器,PHP是标准序列化/解序列化处理器。 @H_403_0@; 另外还可以使用"PHP_binary"。当启用了WDDX支持以后,将只能使用"wddx"。 session.gcprobability = 1 @H403_0@session.gcdivisor = 100 @H403_0@; 定义在每次初始化会话时,启动垃圾回收程序的概率。 @H_403_0@; 这个收集概率计算公式如下:session.gc_probability/session.gcdivisor @H403_0@; 对会话页面访问越频繁,概率就应当越小。建议值为1/1000~5000。 session.gcmaxlifetime = 1440 @H403_0@; 超过此参数所指的秒数后,保存的数据将被视为'垃圾'并由垃圾回收程序清理。 @H_403_0@; 判断标准是最后访问数据的时间(对于FAT文件系统是最后刷新数据的时间)。 @H_403_0@; 如果多个脚本共享同一个session.save_path目录但session.gcmaxlifetime不同, @H403_0@; 那么将以所有session.gcmaxlifetime指令中的最小值为准。 @H403_0@; 如果使用多层子目录来存储数据文件,垃圾回收程序不会自动启动。 @H_403_0@; 你必须使用一个你自己编写的shell脚本、cron项或者其他办法来执行垃圾搜集。 @H_403_0@; 比如,下面的脚本相当于设置了"session.gcmaxlifetime=1440" (24分钟): @H403_0@; cd /path/to/sessions; find -cmin +24 | xargs rm session.referercheck = @H4030@; 如果请求头中的"Referer"字段不包含此处指定的字符串则会话ID将被视为无效。 @H4030@; 注意:如果请求头中根本不存在"Referer"字段的话,会话ID将仍将被视为有效。 @H403_0@; 默认为空,即不做检查(全部视为有效)。 session.entropyfile = ;"/dev/urandom" @H403_0@; 附加的用于创建会话ID的外部高熵值资源(文件), @H_403_0@; 例如UNIX系统上的"/dev/random"或"/dev/urandom" session.entropylength = 0 @H403_0@; 从高熵值资源中读取的字节数(建议值:16)。 session.usecookies = On @H403_0@; 是否使用cookie在客户端保存会话ID session.use_onlycookies = Off @H403_0@; 是否仅仅使用cookie在客户端保存会话ID。PHP6的默认值为On。 @H_4030@; 打开这个选项可以避免使用URL传递会话带来的安全问题。 @H403_0@; 但是禁用Cookie的客户端将使会话无法工作。 session.cookielifetime = 0 @H4030@; 传递会话ID的Cookie有效期(秒),0 表示仅在浏览器打开期间有效。 @H403_0@; [提示]如果你不能保证服务器时间和客户端时间严格一致请不要改变此默认值! session.cookiepath = "/" @H403_0@; 传递会话ID的Cookie作用路径。 session.cookiedomain = @H4030@; 传递会话ID的Cookie作用域。 @H403_0@; 默认为空表示表示根据cookie规范生成的主机名。 session.cookiesecure = Off @H403_0@; 是否仅仅通过安全连接(https)发送cookie。 session.cookiehttponly = Off @H403_0@; 是否在cookie中添加httpOnly标志(仅允许HTTP协议访问), @H_4030@; 这将导致客户端脚本(JavaScript等)无法访问该cookie。 @H403_0@; 打开该指令可以有效预防通过XSS攻击劫持会话ID。 session.cachelimiter = "nocache" @H403_0@; 设为{nocache|private|public}以指定会话页面的缓存控制模式, @H_403_0@; 或者设为空以阻止在http应答头中发送禁用缓存的命令。 session.cacheexpire = 180 @H403_0@; 指定会话页面在客户端cache中的有效期限(分钟) @H_403_0@; session.cache_limiter=nocache时,此处设置无效。 session.use_transsid = Off @H403_0@; 是否使用明码在URL中显示SID(会话ID)。 @H_403_0@; 默认是禁止的,因为它会给你的用户带来安全危险: @H_403_0@; 1- 用户可能将包含有效sid的URL通过email/irc/QQ/MSN...途径告诉给其他人。 @H_4030@; 2- 包含有效sid的URL可能会被保存在公用电脑上。 @H403_0@; 3- 用户可能保存带有固定不变sid的URL在他们的收藏夹或者浏览历史纪录里面。 @H_403_0@; 基于URL的会话管理总是比基于Cookie的会话管理有更多的风险,所以应当禁用。 session.bug_compat42 = On @H403_0@session.bug_compatwarn = On @H403_0@; PHP4.2之前的版本有一个未注明的"BUG": @H_403_0@; 即使在registerglobals=Off的情况下也允许初始化全局session变量, @H403_0@; 如果你在PHP4.3之后的版本中使用这个特性,会显示一条警告。 @H_403_0@; 建议关闭该"BUG"并显示警告。PHP6删除了这两个指令,相当于全部设为Off。 session.hashfunction = 0 @H403_0@; 生成SID的散列算法。SHA-1的安全性更高一些 @H_4030@; 0: MD5 (128 bits) @H4030@; 1: SHA-1 (160 bits) @H403_0@; 建议使用SHA-1。 session.hash_bits_percharacter = 4 @H4030@; 指定在SID字符串中的每个字符内保存多少bit, @H403_0@; 这些二进制数是hash函数的运算结果。 @H_4030@; 4: 0-9,a-f @H4030@; 5: 0-9,a-v @H4030@; 6: 0-9,a-z,A-Z,"-","," @H403_0@; 建议值为 5 urlrewriter.tags = "a=href,fieldset=" @H403_0@; 此指令属于PHP核心部分,并不属于Session模块。 @H_403_0@; 指定重写哪些HTML标签来包含SID(仅当session.use_transsid=On时有效) @H4030@; form和fieldset比较特殊: @H403_0@; 如果你包含他们,URL重写器将添加一个隐藏的"",它包含了本应当额外追加到URL上的信息。 @H_403_0@; 如果要符合XHTML标准,请去掉form项并在表单字段前后加上