PageRenderTime 63ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/Notes/php/php.ini完整解释.txt

https://github.com/ifcheung/myarch_env
Plain Text | 1296 lines | 1013 code | 283 blank | 0 comment | 0 complexity | 64162f24e6a18dedee4c224f346ca64e MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. Content-Type: text/x-zim-wiki
  2. Wiki-Format: zim 0.4
  3. Creation-Date: 2012-10-22T13:11:20+08:00
  4. ====== php.ini完整解释 ======
  5. Created Monday 22 October 2012
  6. ;;;;;;;;;;;;;;;;;
  7. ;; 关于php.ini ;;
  8. ;;;;;;;;;;;;;;;;;
  9. ; 这个文件必须命名为'php.ini'并放置在httpd.conf中PHPINIDir指令指定的目录中
  10. ; 最新版本的php.ini可以在下面两个位置查看
  11. ; http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=co
  12. ; http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co
  13. ;;;;;;;;;;;;
  14. ;; 语法 ;;
  15. ;;;;;;;;;;;;
  16. ; 该文件的语法非常简单空白字符和以分号开始的行被简单地忽略
  17. ; 章节标题(例如: [php])也被简单地忽略即使将来它们可能有某种意义
  18. ;
  19. ; 设置指令的格式如下
  20. ; directive = value
  21. ; 指令名(directive)是大小写敏感的所以"foo=bar"不同于"FOO=bar"
  22. ; (value)可以是
  23. ; 1. 用引号界定的字符串("foo")
  24. ; 2. 一个数字(整数或浮点数0, 1, 34, -1, 33.55)
  25. ; 3. 一个PHP常量(E_ALL, M_PI)
  26. ; 4. 一个INI常量(On, Off, none)
  27. ; 5. 一个表达式(E_ALL & ~E_NOTICE)
  28. ;
  29. ; INI文件中的表达式仅使用位运算符逻辑非圆括号
  30. ; | 位或
  31. ; & 位与
  32. ; ~ 位非
  33. ; ! 逻辑非
  34. ;
  35. ; 布尔标志用 On 表示打开 Off 表示关闭
  36. ;
  37. ; 一个空字符串可以用在等号后不写任何东西表示或者用 none 关键字
  38. ; foo = ; 将foo设为空字符串
  39. ; foo = none ; 将foo设为空字符串
  40. ; foo = "none" ; 将foo设为字符串'none'
  41. ;
  42. ; 如果你在指令值中使用动态扩展(PHP扩展或Zend扩展)中的常量
  43. ; 那么你只能在加载这些动态扩展的指令行之后使用这些常量
  44. ;;;;;;;;;;;;;;;;;;
  45. ;; httpd.conf ;;
  46. ;;;;;;;;;;;;;;;;;;
  47. ; 可以在httpd.conf中针对特定虚拟主机或目录覆盖php.ini的值以进行更灵活的配置
  48. ; php_admin_value name value ;设置非bool型的指令将value设为none则清除先前的设定
  49. ; php_admin_flag name on|off ;仅用于设置bool型的指令
  50. ; [提示]因为很多指令不允许使用php_value/php_flag进行设置因此不建议使用这两个
  51. ;
  52. ; PHP常量(如E_ALL)仅能在php.ini中使用在httpd.conf中必须使用相应的掩码值
  53. ;[2008-3-2日更新]
  54. ;==========================================================================================
  55. ;;=====================================配置指令详解========================================
  56. ;==========================================================================================
  57. ; 以下每个指令的设定值都与 PHP-5.2.5 内建的默认值相同
  58. ; 也就是说如果'php.ini'不存在或者你删掉了某些行默认值与之相同
  59. ;;;;;;;;;;;;;;
  60. ;; Apache ;;
  61. ;;;;;;;;;;;;;;
  62. [Apache]
  63. ; 仅在将PHP作为Apache模块时才有效
  64. child_terminate = Off
  65. ; PHP脚本在请求结束后是否允许使用apache_child_terminate()函数终止子进程
  66. ; 该指令仅在UNIX平台上将PHP安装为Apache1.3的模块时可用其他情况下皆不存在
  67. engine = On
  68. ; 是否启用PHP解析引擎
  69. ; 提示可以在httpd.conf中基于目录或者虚拟主机来打开或者关闭PHP解析引擎
  70. last_modified = Off
  71. ; 是否在Last-Modified应答头中放置该PHP脚本的最后修改时间
  72. xbithack = Off
  73. ; 是否不管文件结尾是什么都作为PHP可执行位组来解析
  74. ;;;;;;;;;;;;;;;
  75. ;; PHP核心 ;;
  76. ;;;;;;;;;;;;;;;
  77. [PHP-Core-DateTime]
  78. ; 前四个配置选项目前仅用于date_sunrise()和date_sunset()函数
  79. date.default_latitude = 31.7667
  80. ; 默认纬度
  81. date.default_longitude = 35.2333
  82. ; 默认经度
  83. date.sunrise_zenith = 90.583333
  84. ; 默认日出天顶
  85. date.sunset_zenith = 90.583333
  86. ; 默认日落天顶
  87. date.timezone =
  88. ; 未设定TZ环境变量时用于所有日期和时间函数的默认时区
  89. ; 中国大陆应当使用"PRC"
  90. ; 应用时区的优先顺序为
  91. ; 1. 用date_default_timezone_set()函数设定的时区(如果设定了的话)
  92. ; 2. TZ 环境变量(如果非空的话)
  93. ; 3. 该指令的值(如果设定了的话)
  94. ; 4. PHP自己推测(如果操作系统支持)
  95. ; 5. 如果以上都不成功则使用 "UTC"
  96. [PHP-Core-Assert]
  97. assert.active = On
  98. ; 是否启用assert()断言评估
  99. assert.bail = Off
  100. ; 是否在发生失败断言时中止脚本的执行
  101. assert.callback =
  102. ; 发生失败断言时执行的回调函数
  103. assert.quiet_eval = Off
  104. ; 是否使用安静评估(不显示任何错误信息相当于error_reporting=0)
  105. ; 若关闭则在评估断言表达式的时候使用当前的error_reporting指令值
  106. assert.warning = On
  107. ; 是否对每个失败断言都发出警告
  108. [PHP-Core-SafeMode]
  109. ; 安全模式是为了解决共享服务器的安全问题而设立的
  110. ; 但试图在PHP层解决这个问题在结构上是不合理的
  111. ; 正确的做法应当是修改web服务器层和操作系统层
  112. ; 因此在PHP6中废除了安全模式并使用基于open_basedir的安全防护
  113. ; 此部分指令在PHP6中已经全部被删除
  114. safe_mode = Off
  115. ; 是否启用安全模式
  116. ; 打开时PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同
  117. ; 相同则允许操作不同则拒绝操作
  118. safe_mode_gid = Off
  119. ; 在安全模式下默认在访问文件时会做UID比较检查
  120. ; 但有些情况下严格的UID检查反而是不适合的宽松的GID检查已经足够
  121. ; 如果你想将其放宽到仅做GID比较可以打开这个参数
  122. safe_mode_allowed_env_vars = "PHP_"
  123. ; 在安全模式下用户仅可以更改的环境变量的前缀列表(逗号分隔)
  124. ; 允许用户设置某些环境变量可能会导致潜在的安全漏洞
  125. ; 注意: 如果这一参数值为空PHP将允许用户更改任意环境变量
  126. safe_mode_protected_env_vars = "LD_LIBRARY_PATH"
  127. ; 在安全模式下用户不能更改的环境变量列表(逗号分隔)
  128. ; 这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护
  129. safe_mode_exec_dir = "/usr/local/php/bin"
  130. ; 在安全模式下只有该目录下的可执行程序才允许被执行系统程序的函数执行
  131. ; 这些函数是system, escapeshellarg, escapeshellcmd, exec, passthru,
  132. ; proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec
  133. safe_mode_include_dir =
  134. ; 在安全模式下该组目录和其子目录下的文件被包含时将跳过UID/GID检查
  135. ; 换句话说如果此处的值为空任何UID/GID不符合的文件都不允许被包含
  136. ; 这里设置的目录必须已经存在于include_path指令中或者用完整路径来包含
  137. ; 多个目录之间用冒号(Win下为分号)隔开
  138. ; 指定的限制实际上是一个前缀而非一个目录名
  139. ; 也就是说"/dir/incl"将允许访问"/dir/include""/dir/incls"
  140. ; 如果您希望将访问控制在一个指定的目录那么请在结尾加上斜线
  141. [PHP-Core-Safe]
  142. allow_url_fopen = On
  143. ; 是否允许打开远程文件
  144. allow_url_include = Off
  145. ; 是否允许include/require远程文件
  146. disable_classes =
  147. ; 该指令接受一个用逗号分隔的类名列表以禁用特定的类
  148. disable_functions =
  149. ; 该指令接受一个用逗号分隔的函数名列表以禁用特定的函数
  150. enable_dl = On
  151. ; 是否允许使用dl()函数dl()函数仅在将PHP作为apache模块安装时才有效
  152. ; 禁用dl()函数主要是出于安全考虑因为它可以绕过open_basedir指令的限制
  153. ; 在安全模式下始终禁用dl()函数而不管此处如何设置
  154. ; PHP6中删除了该指令相当于设为Off
  155. expose_php = On
  156. ; 是否暴露PHP被安装在服务器上的事实(在http头中加上其签名)
  157. ; 它不会有安全上的直接威胁但它使得客户端知道服务器上安装了PHP
  158. open_basedir =
  159. ; 将PHP允许操作的所有文件(包括文件自身)都限制在此组目录列表下
  160. ; 当一个脚本试图打开一个指定目录树之外的文件时将遭到拒绝
  161. ; 所有的符号连接都会被解析所以不可能通过符号连接来避开此限制
  162. ; 特殊值'.'指定了存放该脚本的目录将被当做基准目录
  163. ; 但这有些危险因为脚本的工作目录可以轻易被chdir()改变
  164. ; 对于共享服务器在httpd.conf中针对不同的虚拟主机或目录灵活设置该指令将变得非常有用
  165. ; 在Windows中用分号分隔目录UNIX系统中用冒号分隔目录
  166. ; 作为Apache模块时父目录中的open_basedir路径将自动被继承
  167. ; 指定的限制实际上是一个前缀而非一个目录名
  168. ; 也就是说"/dir/incl"将允许访问"/dir/include""/dir/incls"
  169. ; 如果您希望将访问控制在一个指定的目录那么请在结尾加上一个斜线
  170. ; 默认是允许打开所有文件
  171. sql.safe_mode = Off
  172. ; 是否使用SQL安全模式
  173. ; 如果打开指定默认值的数据库连接函数将会使用这些默认值代替支持的参数
  174. ; 对于每个不同数据库的连接函数其默认值请参考相应的手册页面
  175. [PHP-Core-Error]
  176. error_reporting = E_ALL & ~E_NOTICE
  177. ; 错误报告级别是位字段的叠加推荐使用 E_ALL | E_STRICT
  178. ; 1 E_ERROR 致命的运行时错误
  179. ; 2 E_WARNING 运行时警告(非致命性错误)
  180. ; 4 E_PARSE 编译时解析错误
  181. ; 8 E_NOTICE 运行时提醒(经常是bug也可能是有意的)
  182. ; 16 E_CORE_ERROR PHP启动时初始化过程中的致命错误
  183. ; 32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)
  184. ; 64 E_COMPILE_ERROR 编译时致命性错
  185. ; 128 E_COMPILE_WARNING 编译时警告(非致命性错)
  186. ; 256 E_USER_ERROR 用户自定义的致命错误
  187. ; 512 E_USER_WARNING 用户自定义的警告(非致命性错误)
  188. ; 1024 E_USER_NOTICE 用户自定义的提醒(经常是bug也可能是有意的)
  189. ; 2048 E_STRICT 编码标准化警告(建议如何修改以向前兼容)
  190. ; 4096 E_RECOVERABLE_ERROR 接近致命的运行时错误若未被捕获则视同E_ERROR
  191. ; 6143 E_ALL 除E_STRICT外的所有错误(PHP6中为8191,即包含所有)
  192. ; 也可以用2147483647(所有二进制位全为1)打开现在或将来可能出现的各种错误
  193. track_errors = Off
  194. ; 是否在变量$php_errormsg中保存最近一个错误或警告消息
  195. display_errors = On
  196. ; 是否将错误信息作为输出的一部分显示
  197. ; 在最终发布的web站点上强烈建议你关掉这个特性并使用错误日志代替(参看下面)
  198. ; 在最终发布的web站点打开这个特性可能暴露一些安全信息
  199. ; 例如你的web服务上的文件路径数据库规划或别的信息
  200. display_startup_errors = Off
  201. ; 是否显示PHP启动时的错误
  202. ; 即使display_errors指令被打开关闭此参数也将不显示PHP启动时的错误
  203. ; 建议你关掉这个特性除非你必须要用于调试中
  204. report_memleaks = On
  205. ; 是否报告内存泄漏这个参数只在以调试方式编译的PHP中起作用
  206. ; 并且必须在error_reporting指令中包含 E_WARNING
  207. report_zend_debug = On
  208. ; 尚无说明文档
  209. html_errors = On
  210. ; 是否在出错信息中使用HTML标记
  211. ; 注意: 不要在发布的站点上使用这个特性
  212. docref_root = ;"http://localhost/phpmanual/"
  213. docref_ext = ;".html"
  214. ; 如果打开了html_errors指令PHP将会在出错信息上显示超连接
  215. ; 直接链接到一个说明这个错误或者导致这个错误的函数的页面
  216. ; 你可以从http://www.php.net/docs.php下载php手册,
  217. ; 并将docref_root指令指向你本地的手册所在的URL目录
  218. ; 你还必须设置docref_ext指令来指定文件的扩展名(必须含有'.')
  219. ; 注意: 不要在发布的站点上使用这个特性
  220. error_prepend_string = ;"<font color=#f00>"
  221. ; 用于错误信息前输出的字符串
  222. error_append_string = ;"</font>"
  223. ; 用于错误信息后输出的字符串
  224. xmlrpc_errors = Off
  225. xmlrpc_error_number = 0
  226. ; 尚无文档
  227. [PHP-Core-Logging]
  228. define_syslog_variables = Off
  229. ; 是否定义各种系统日志变量$LOG_PID, $LOG_CRON 等等
  230. ; 关掉它以提高效率的好主意
  231. ; 你可以在运行时调用define_syslog_variables()函数来定义这些变量
  232. error_log =
  233. ; 将错误日志记录到哪个文件中该文件必须对Web服务器用户可写
  234. ; syslog 表示记录到系统日志中(NT下的事件日志, Unix下的syslog(3))
  235. ; 如果此处未设置任何值则错误将被记录到Web服务器的错误日志中
  236. log_errors = Off
  237. ; 是否在日志文件里记录错误具体在哪里记录取决于error_log指令
  238. ; 强烈建议你在最终发布的web站点时使用日志记录错误而不是直接输出
  239. ; 这样可以让你既知道那里出了问题又不会暴露敏感信息
  240. log_errors_max_len = 1024
  241. ; 设置错误日志中附加的与错误信息相关联的错误源的最大长度
  242. ; 这里设置的值对显示的和记录的错误以及$php_errormsg都有效
  243. ; 设为 0 可以允许无限长度
  244. ignore_repeated_errors = Off
  245. ; 记录错误日志时是否忽略重复的错误信息
  246. ; 错误信息必须出现在同一文件的同一行才被被视为重复
  247. ignore_repeated_source = Off
  248. ; 是否在忽略重复的错误信息时忽略重复的错误源
  249. [PHP-Core-Mail]
  250. ; 要使邮件函数可用PHP必须在编译时能够访问sendmail程序
  251. ; 如果使用其它的邮件程序如qmail或postfix确保使用了相应的sendmail包装
  252. ; PHP首先会在系统的PATH环境变量中搜索sendmail接着按以下顺序搜索
  253. ; /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib
  254. ; 强烈建议在PATH中能够找到sendmail
  255. ; 另外编译PHP的用户必须能够访问sendmail程序
  256. SMTP = "localhost"
  257. ; mail()函数中用来发送邮件的SMTP服务器的主机名称或者IP地址仅用于win32
  258. smtp_port = 25
  259. ; SMTP服务器的端口号仅用于win32
  260. sendmail_from =
  261. ; 发送邮件时使用的"From:"头中的邮件地址仅用于win32
  262. ; 该选项还同时设置了"Return-Path:"
  263. sendmail_path = "-t -i"
  264. ; 仅用于unix也可支持参数(默认的是'sendmail -t -i')
  265. ; sendmail程序的路径通常为"/usr/sbin/sendmail或/usr/lib/sendmail"
  266. ; configure脚本会尝试找到该程序并设定为默认值但是如果失败的话可以在这里设定
  267. ; 不使用sendmail的系统应将此指令设定为sendmail替代程序(如果有的话)
  268. ; 例如Qmail用户通常可以设为"/var/qmail/bin/sendmail""/var/qmail/bin/qmail-inject"
  269. ; qmail-inject 不需要任何选项就能正确处理邮件
  270. mail.force_extra_parameters =
  271. ; 作为额外的参数传递给sendmail库的强制指定的参数附加值
  272. ; 这些参数总是会替换掉mail()的第5个参数即使在安全模式下也是如此
  273. [PHP-Core-ResourceLimit]
  274. default_socket_timeout = 60
  275. ; 默认socket超时()
  276. max_execution_time = 30
  277. ; 每个脚本最大允许执行时间()0 表示没有限制
  278. ; 这个参数有助于阻止劣质脚本无休止的占用服务器资源
  279. ; 该指令仅影响脚本本身的运行时间任何其它花费在脚本运行之外的时间
  280. ; 如用system()/sleep()函数的使用数据库查询文件上传等都不包括在内
  281. ; 在安全模式下你不能用ini_set()在运行时改变这个设置
  282. memory_limit = 128M
  283. ; 一个脚本所能够申请到的最大内存字节数(可以使用K和M作为单位)
  284. ; 这有助于防止劣质脚本消耗完服务器上的所有内存
  285. ; 要能够使用该指令必须在编译时使用"--enable-memory-limit"配置选项
  286. ; 如果要取消内存限制则必须将其设为 -1
  287. ; 设置了该指令后memory_get_usage()函数将变为可用
  288. max_input_time = -1
  289. ; 每个脚本解析输入数据(POST, GET, upload)的最大允许时间()
  290. ; -1 表示不限制
  291. max_input_nesting_level = 64
  292. ; 输入变量的最大嵌套深度(尚无更多解释文档)
  293. post_max_size = 8M
  294. ; 允许的POST数据最大字节长度此设定也影响到文件上传
  295. ; 如果POST数据超出限制那么$_POST和$_FILES将会为空
  296. ; 要上传大文件该值必须大于upload_max_filesize指令的值
  297. ; 如果启用了内存限制那么该值应当小于memory_limit指令的值
  298. realpath_cache_size = 16K
  299. ; 指定PHP使用的realpath(规范化的绝对路径名)缓冲区大小
  300. ; 在PHP打开大量文件的系统上应当增大该值以提高性能
  301. realpath_cache_ttl = 120
  302. ; realpath缓冲区中信息的有效期()
  303. ; 对文件很少变动的系统可以增大该值以提高性能
  304. [PHP-Core-FileUpLoad]
  305. file_uploads = On
  306. ; 是否允许HTTP文件上传
  307. ; 参见upload_max_filesize, upload_tmp_dir, post_max_size指令
  308. upload_max_filesize = 2M
  309. ; 允许上传的文件的最大尺寸
  310. upload_tmp_dir =
  311. ; 文件上传时存放文件的临时目录(必须是PHP进程用户可写的目录)
  312. ; 如果未指定则PHP使用系统默认的临时目录
  313. [PHP-Core-MagicQuotes]
  314. ; PHP6删除了下列指令相当于全部为 Off
  315. magic_quotes_gpc = Off
  316. ; 是否对输入的GET/POST/Cookie数据使用自动字符串转义( ' " \ NULL )。
  317. ; 这里的设置将自动影响 $_GEST $_POST $_COOKIE 数组的值
  318. ; 若将本指令与magic_quotes_sybase指令同时打开则仅将单引号(')转义为(''),
  319. ; 其它特殊字符将不被转义( " \ NULL )将保持原样!!
  320. ; 建议关闭此特性并使用自定义的过滤函数
  321. magic_quotes_runtime = Off
  322. ; 是否对运行时从外部资源产生的数据使用自动字符串转义( ' " \ NULL )。
  323. ; 若打开本指令则大多数函数从外部资源(数据库,文本文件等)返回数据都将被转义
  324. ; 例如用SQL查询得到的数据用exec()函数得到的数据等等
  325. ; 若将本指令与magic_quotes_sybase指令同时打开则仅将单引号(')转义为(''),
  326. ; 其它特殊字符将不被转义( " \ NULL )将保持原样!!
  327. ; 建议关闭此特性并视具体情况使用自定义的过滤函数
  328. magic_quotes_sybase = Off
  329. ; 是否采用Sybase形式的自动字符串转义( '' 表示 ')
  330. [PHP-Core-HighLight]
  331. highlight.bg = "#FFFFFF"
  332. highlight.comment = "#FF8000"
  333. highlight.default = "#0000BB"
  334. highlight.html = "#000000"
  335. highlight.keyword = "#007700"
  336. highlight.string = "#DD0000"
  337. ; 语法高亮模式的色彩(通常用于显示 .phps 文件)
  338. ; 只要能被<font color=xxx>接受的东西就能正常工作
  339. [PHP-Core-Langue]
  340. short_open_tag = On
  341. ; 是否允许使用"<? ?>"短标识否则必须使用"<?php ?>"长标识
  342. ; 除非你的php程序仅在受控环境下运行且只供自己使用否则请不要使用短标记
  343. ; 如果要和XML结合使用PHP可以选择关闭此选项以方便直接嵌入"<?xml ... ?>"
  344. ; 不然你必须用PHP来输出<? echo '<?xml version="1.0"'; ?>
  345. ; 本指令也会影响到缩写形式"<?="它和"<? echo"等价要使用它也必须打开短标记
  346. asp_tags = Off
  347. ; 是否允许ASP风格的标记"<% %>"这也会影响到缩写形式"<%="
  348. ; PHP6中将删除此指令
  349. arg_separator.output = "&"
  350. ; PHP所产生的URL中用来分隔参数的分隔符
  351. ; 另外还可以用"&amp;"","等等
  352. arg_separator.input = "&"
  353. ; PHP解析URL中的变量时使用的分隔符列表
  354. ; 字符串中的每一个字符都会被当作分割符
  355. ; 另外还可以用",&"等等
  356. allow_call_time_pass_reference = On
  357. ; 是否强迫在函数调用时按引用传递参数(每次使用此特性都会收到一条警告)
  358. ; php反对这种做法并在PHP6里删除了该指令(相当于设为Off)因为它影响到了代码的整洁
  359. ; 鼓励的方法是在函数声明里明确指定哪些参数按引用传递
  360. ; 我们鼓励你关闭这一选项以保证你的脚本在将来版本的语言里仍能正常工作
  361. auto_globals_jit = On
  362. ; 是否仅在使用到$_SERVER和$_ENV变量时才创建(而不是在脚本一启动时就自动创建)
  363. ; 如果并未在脚本中使用这两个数组打开该指令将会获得性能上的提升
  364. ; 要想该指令生效必须关闭register_globals和register_long_arrays指令
  365. auto_prepend_file =
  366. auto_append_file =
  367. ; 指定在主文件之前/后自动解析的文件名为空表示禁用该特性
  368. ; 该文件就像调用了include()函数被包含进来一样因此会使用include_path指令的值
  369. ; 注意如果脚本通过exit()终止那么自动后缀将不会发生
  370. variables_order = "EGPCS"
  371. ; PHP注册 Environment, GET, POST, Cookie, Server 变量的顺序
  372. ; 分别用 E, G, P, C, S 表示按从左到右注册新值覆盖旧值
  373. ; 举例说设为"GP"将会导致用POST变量覆盖同名的GET变量
  374. ; 并完全忽略 Environment, Cookie, Server 变量
  375. ; 推荐使用"GPC""GPCS"并使用getenv()函数访问环境变量
  376. register_globals = Off
  377. ; 是否将 E, G, P, C, S 变量注册为全局变量
  378. ; 打开该指令可能会导致严重的安全问题除非你的脚本经过非常仔细的检查
  379. ; 推荐使用预定义的超全局变量$_ENV, $_GET, $_POST, $_COOKIE, $_SERVER
  380. ; 该指令受variables_order指令的影响
  381. ; PHP6中已经删除此指令
  382. register_argc_argv = On
  383. ; 是否声明$argv和$argc全局变量(包含用GET方法的信息)
  384. ; 建议不要使用这两个变量并关掉该指令以提高性能
  385. register_long_arrays = On
  386. ; 是否启用旧式的长式数组(HTTP_*_VARS)
  387. ; 鼓励使用短式的预定义超全局数组并关闭该特性以获得更好的性能
  388. ; PHP6中已经删除此指令
  389. always_populate_raw_post_data = Off
  390. ; 是否总是生成$HTTP_RAW_POST_DATA变量(原始POST数据)
  391. ; 否则此变量仅在遇到不能识别的MIME类型的数据时才产生
  392. ; 不过访问原始POST数据的更好方法是 php://input 。
  393. ; $HTTP_RAW_POST_DATA对于enctype="multipart/form-data"的表单数据不可用
  394. unserialize_callback_func =
  395. ; 如果解序列化处理器需要实例化一个未定义的类
  396. ; 这里指定的回调函数将以该未定义类的名字作为参数被unserialize()调用
  397. ; 以免得到不完整的"__PHP_Incomplete_Class"对象
  398. ; 如果这里没有指定函数或指定的函数不包含(或实现)那个未定义的类将会显示警告信息
  399. ; 所以仅在确实需要实现这样的回调函数时才设置该指令
  400. ; 若要禁止这个特性只需置空即可
  401. y2k_compliance = On
  402. ; 是否强制打开2000年适应(可能在非Y2K适应的浏览器中导致问题)
  403. zend.ze1_compatibility_mode = Off
  404. ; 是否使用兼容Zend引擎I(PHP 4.x)的模式PHP6中将删除该指令(相当于Off)
  405. ; 这将影响对象的复制构造(无属性的对象会产生FALSE或0)比较
  406. ; 兼容模式下对象将按值传递而不是默认的按引用传递
  407. precision = 14
  408. ; 浮点型数据显示的有效位数
  409. serialize_precision = 100
  410. ; 将浮点型和双精度型数据序列化存储时的精度(有效位数)
  411. ; 默认值能够确保浮点型数据被解序列化程序解码时不会丢失数据
  412. [PHP-Core-OutputControl]
  413. ; 输出控制函数很有用特别是在已经输出了信息之后再发送HTTP头的情况下
  414. ; 输出控制函数不会作用于header()或setcookie()等函数发送的HTTP头
  415. ; 而只会影响类似于echo()函数输出的信息和嵌入在PHP代码之间的信息
  416. implicit_flush = Off
  417. ; 是否要求PHP输出层在每个输出块之后自动刷新数据
  418. ; 这等效于在每个 print()echo()HTML块 之后自动调用flush()函数
  419. ; 打开这个选项对程序执行的性能有严重的影响通常只推荐在调试时使用
  420. ; 在CLI SAPI的执行模式下该指令默认为 On
  421. output_buffering = 0
  422. ; 输出缓冲区大小(字节)建议值为4096~8192
  423. ; 输出缓冲允许你甚至在输出正文内容之后再发送HTTP头(包括cookies)
  424. ; 其代价是输出层减慢一点点速度
  425. ; 设置输出缓冲可以减少写入有时还能减少网络数据包的发送
  426. ; 这个参数的实际收益很大程度上取决于你使用的是什么Web服务器以及什么样的脚本
  427. output_handler =
  428. ; 将所有脚本的输出重定向到一个输出处理函数
  429. ; 比如重定向到mb_output_handler()函数时字符编码将被透明地转换为指定的编码
  430. ; 一旦你在这里指定了输出处理程序输出缓冲将被自动打开(output_buffering=4096)
  431. ; 注意0: 此处仅能使用PHP内置的函数自定义函数应在脚本中使用ob_start()指定
  432. ; 注意1: 可移植脚本不能依赖该指令而应使用ob_start()函数明确指定输出处理函数
  433. ; 使用这个指令可能会导致某些你不熟悉的脚本出错
  434. ; 注意2: 你不能同时使用"mb_output_handler""ob_iconv_handler"两个输出处理函数
  435. ; 你也不能同时使用"ob_gzhandler"输出处理函数和zlib.output_compression指令
  436. ; 注意3: 如果使用zlib.output_handler指令开启zlib输出压缩该指令必须为空
  437. [PHP-Core-Directory]
  438. include_path = ".:/path/to/php/pear"
  439. ; 指定一组目录用于require(), include(), fopen_with_path()函数寻找文件
  440. ; 格式和系统的PATH环境变量类似(UNIX下用冒号分隔Windows下用分号分隔)
  441. ; UNIX: "/path1:/path2"
  442. ; Windows: "\path1;\path2"
  443. ; 在包含路径中使用'.'可以允许相对路径它代表当前目录
  444. user_dir =
  445. ; 告诉php在使用 /~username 打开脚本时到哪个目录下去找仅在非空时有效
  446. ; 也就是在用户目录之下使用PHP文件的基本目录名例如"public_html"
  447. extension_dir = "/path/to/php"
  448. ; 存放扩展库(模块)的目录也就是PHP用来寻找动态扩展模块的目录
  449. ; Windows下默认为"C:/php5"
  450. [PHP-Core-HTTP]
  451. default_mimetype = "text/html"
  452. default_charset = ;"gb2312"
  453. ; PHP默认会自动输出"Content-Type: text/html" HTTP头
  454. ; 如果将default_charset指令设为"gb2312"
  455. ; 那么将会自动输出"Content-Type: text/html; charset=gb2312"
  456. ; PHP6反对使用default_charset指令而推荐使用unicode.output_encoding指令
  457. [PHP-Core-Unicode]
  458. ; PHP6基于ICU(International Components for Unicode)库提供了全面的Unicode支持
  459. ; 编译时需要使用--with-icu-dir=<dir>指定ICU头文件和库的安装位置
  460. ; 除detect_unicode外其他都是PHP6新增的指令
  461. ;
  462. ; PHP6的信息目前还很缺乏所以此部分内容可能不完整甚至有错误
  463. detect_unicode = On
  464. ; 指示Zend引擎是否通过检查脚本的BOM(字节顺序标记)来检测脚本是否包含多字节字符
  465. ; 建议关闭PHP6已经取消了此指令而用unicode.script_encoding指令来代替其功能
  466. unicode.semantics = Off
  467. ; 是否启用Unicode支持
  468. ; 如果打开此指令那么PHP将变成一个完全的Unicode环境比如
  469. ; 所有字符串和从HTTP接受的变量都将变成Unicode所有PHP标识符也都可以使用Unicode字符
  470. ; 而且PHP内部将使用Unicode字符串并负责对外围非Unicode字符进行自动转换
  471. ; 比如HTTP输入输出文件系统操作等等甚至连php.ini自身都将按照UTF-8编码来解析
  472. ; 开启这个指令后你必须明确指定二进制字符串PHP将不对二进制字符串的内容做任何假定
  473. ; 因此你的程序必须保证能够恰当的处理二进制字符串
  474. ; 如果关闭这个指令PHP的行为将和以前的行为完全相同
  475. ; 字符串不会变成Unicode文件和二进制字符串也将向后兼容php.ini也将按照"as-is"风格解析
  476. ; 不管是否打开此指令所有的函数和操作符都透明的支持Unicode字符串
  477. unicode.fallback_encoding = UTF-8
  478. ; 为其他所有unicode.*_encoding指令设置默认值
  479. ; 也就是说如果某个unicode.*_encoding指令未明确设置的话将使用此处设置的值
  480. unicode.runtime_encoding =
  481. ; 运行时编码指定了PHP引擎内部转换二进制字符串时使用的编码
  482. ; 此处的设置对于I/O相关操作(比如写入标准输出/读取文件系统/解码HTTP输入变量)没有影响
  483. ; PHP也允许你明确的对字符串进行转换
  484. ; (binary)$str -- 转化为二进制字符串
  485. ; (unicode)$str -- 转化为Unicode字符串
  486. ; (string)$str -- 如果unicode.semantics为On则转化为Unicode字符串否则转化为二进制字符串
  487. ; 例如如果该指令的值为iso-8859-1并且$uni是一个Unicode字符串那么
  488. ; $str = (binary)$uni
  489. ; 将等到一个使用iso-8859-1编码的二进制字符串
  490. ; 在连接比较传递参数等操作之前PHP会将相关字符串隐含转换为Unicode然后再进行操作
  491. ; 比如在将二进制字符串与Unicode进行连接的时候
  492. ; PHP将会使用这里的设置将二进制字符串转换为Unicode字符串然后再进行操作
  493. unicode.output_encoding =
  494. ; PHP输出非二进制字符串使用的编码
  495. ; 自动将'print''echo'之类的输出内容转换为此处设定的编码(并不对二进制字符串进行转换)
  496. ; 当向文件之类的外部资源写入数据的时候
  497. ; 你必须依赖于流编码特性或者使用Unicode扩展的函数手动的对数据进行编码
  498. ; 在PHP6中反对使用先前的default_charset指令而推荐使用该指令
  499. ; 先前的default_charset指令只是指定了Content-Type头中的字符集而并不对实际的输出做任何转换
  500. ; 而在PHP6中default_charset指令仅在unicode.semantics为off的时候才有效
  501. ; 设置了该指令后将在Content-Type输出头的'charset'部分填上该指令的值
  502. ; 而不管default_charset指令如何设置
  503. unicode.http_input_encoding =
  504. ; 通过HTTP获取的变量(比如$_GET和_$POST)内容的编码
  505. ; 直到2007年4月此功能尚在开发中....
  506. unicode.filesystem_encoding =
  507. ; 文件系统的目录名和文件名的编码
  508. ; 文件系统相关的函数(比如opendir())将使用这个编码接受和返回文件名和目录名
  509. ; 此处的设置必须与文件系统实际使用的编码完全一致
  510. unicode.script_encoding =
  511. ; PHP脚本自身的默认编码
  512. ; 你可以使用任何ICU支持的编码来写PHP脚本
  513. ; 如果你想针对单独的脚本文件设定其编码可以在该脚本的开头使用
  514. ; <?php declare(encoding = 'Shift-JIS'); ?>
  515. ; 来指定注意必须是第一行开头全面不要有任何字符(包括空白)
  516. ; 该方法只能影响其所在的脚本不会影响任何被包含的其他脚本
  517. unicode.stream_encoding = UTF-8
  518. unicode.from_error_mode = 2
  519. unicode.from_error_subst_char = 3f
  520. ; 尚无文档
  521. [PHP-Core-Misc]
  522. auto_detect_line_endings = Off
  523. ; 是否让PHP自动侦测行结束符(EOL)
  524. ; 如果的你脚本必须处理Macintosh文件
  525. ; 或者你运行在Macintosh上同时又要处理unix或win32文件
  526. ; 打开这个指令可以让PHP自动侦测EOL以便fgets()和file()函数可以正常工作
  527. ; 但同时也会导致在Unix系统下使用回车符(CR)作为项目分隔符的人遭遇不兼容行为
  528. ; 另外在检测第一行的EOL习惯时会有很小的性能损失
  529. browscap = ;"c:/windows/system32/inetsrv/browscap.ini"
  530. ; 只有PWS和IIS需要这个设置
  531. ; 你可以从http://www.garykeith.com/browsers/downloads.asp
  532. ; 得到一个browscap.ini文件
  533. ignore_user_abort = Off
  534. ; 是否即使在用户中止请求后也坚持完成整个请求
  535. ; 在执行一个长请求的时候应当考虑打开该它
  536. ; 因为长请求可能会导致用户中途中止或浏览器超时
  537. user_agent = ;"PHP"
  538. ; 定义"User-Agent"字符串
  539. ;url_rewriter.tags = "a=href,area=href,frame=src,form=,fieldset="
  540. ; 虽然此指令属于PHP核心部分但是却用于Session模块的配置
  541. ;extension =
  542. ; 在PHP启动时加载动态扩展例如extension=mysqli.so
  543. ; "="之后只能使用模块文件的名字而不能含有路径信息
  544. ; 路径信息应当只由extension_dir指令提供
  545. ; 主意在windows上下列扩展已经内置
  546. ; bcmath ; calendar ; com_dotnet ; ctype ; session ; filter ; ftp ; hash
  547. ; iconv ; json ; odbc ; pcre ; Reflection ; date ; libxml ; standard
  548. ; tokenizer ; zlib ; SimpleXML ; dom ; SPL ; wddx ; xml ; xmlreader ; xmlwriter
  549. [PHP-Core-CGI]
  550. ; 这些指令只有在将PHP运行在CGI模式下的时候才有效
  551. doc_root =
  552. ; PHP的"CGI根目录"仅在非空时有效
  553. ; 在web服务器的主文档目录(比如"htdocs")中放置可执行程序/脚本被认为是不安全的
  554. ; 比如因为配置错误而将脚本作为普通的html显示
  555. ; 因此很多系统管理员都会在主文档目录之外专门设置一个只能通过CGI来访问的目录
  556. ; 该目录中的内容只会被解析而不会原样显示出来
  557. ; 如果设置了该项那么PHP就只会解释doc_root目录下的文件
  558. ; 并确保目录外的脚本都不会被PHP解释器执行(user_dir除外)
  559. ; 如果编译PHP时没有指定FORCE_REDIRECT并且在非IIS服务器上以CGI方式运行
  560. ; 则必须设置此指令(参见手册中的安全部分)
  561. ; 替代方案是使用的cgi.force_redirect指令
  562. cgi.discard_path = Off
  563. ; 尚无文档(PHP6新增指令)
  564. cgi.fix_pathinfo = On
  565. ; 是否为CGI提供真正的 PATH_INFO/PATH_TRANSLATED 支持(遵守cgi规范)
  566. ; 先前的行为是将PATH_TRANSLATED设为SCRIPT_FILENAME而不管PATH_INFO是什么
  567. ; 打开此选项将使PHP修正其路径以遵守CGI规范否则仍将使用旧式的不合规范的行为
  568. ; 鼓励你打开此指令并修正脚本以使用 SCRIPT_FILENAME 代替 PATH_TRANSLATED
  569. ; 有关PATH_INFO的更多信息请参见cgi规范
  570. cgi.force_redirect = On
  571. ; 是否打开cgi强制重定向强烈建议打开它以为CGI方式运行的php提供安全保护
  572. ; 你若自己关闭了它请自己负责后果
  573. ; 注意在IIS/OmniHTTPD/Xitami上则必须关闭它
  574. cgi.redirect_status_env =
  575. ; 如果cgi.force_redirect=On并且在Apache与Netscape之外的服务器下运行PHP
  576. ; 可能需要设定一个cgi重定向环境变量名PHP将去寻找它来知道是否可以继续执行下去
  577. ; 设置这个变量会导致安全漏洞请务必在设置前搞清楚自己在做什么
  578. cgi.rfc2616_headers = 0
  579. ; 指定PHP在发送HTTP响应代码时使用何种报头
  580. ; 0 表示发送一个"Status: "报头Apache和其它web服务器都支持
  581. ; 若设为1则PHP使用RFC2616标准的头
  582. ; 除非你知道自己在做什么否则保持其默认值 0
  583. cgi.nph = Off
  584. ; 在CGI模式下是否强制对所有请求都发送"Status: 200"状态码
  585. cgi.check_shebang_line =On
  586. ; CGI PHP是否检查脚本顶部以 #! 开始的行
  587. ; 如果脚本想要既能够单独运行又能够在PHP CGI模式下运行那么这个起始行就是必须的
  588. ; 如果打开该指令那么CGI模式的PHP将跳过这一行
  589. fastcgi.impersonate = Off
  590. ; IIS中的FastCGI支持模仿客户端安全令牌的能力
  591. ; 这使得IIS能够定义运行时所基于的请求的安全上下文
  592. ; Apache中的mod_fastcgi不支持此特性(03/17/2002)
  593. ; 如果在IIS中运行则设为On默认为Off
  594. fastcgi.logging = On
  595. ; 是否记录通过FastCGI进行的连接
  596. [PHP-Core-Weirdy]
  597. ; 这些选项仅存在于文档中却不存在于phpinfo()函数的输出中
  598. async_send = Off
  599. ; 是否异步发送
  600. from = ;"john@doe.com"
  601. ; 定义匿名ftp的密码(一个email地址)
  602. ;;;;;;;;;;;;;;;;;;
  603. ;; 近核心模块 ;;
  604. ;;;;;;;;;;;;;;;;;;
  605. [Pcre]
  606. ;Perl兼容正则表达式模块
  607. pcre.backtrack_limit = 100000
  608. ; PCRE的最大回溯(backtracking)步数
  609. pcre.recursion_limit = 100000
  610. ; PCRE的最大递归(recursion)深度
  611. ; 如果你将该值设的非常高将可能耗尽进程的栈空间导致PHP崩溃
  612. [Session]
  613. ; 除非使用session_register()$_SESSION注册了一个变量
  614. ; 否则不管是否使用了session_start()都不会自动添加任何session记录
  615. ; 包括resource变量或有循环引用的对象包含指向自身的引用的对象不能保存在会话中
  616. ; register_globals指令会影响到会话变量的存储和恢复
  617. session.save_handler = "files"
  618. ; 存储和检索与会话关联的数据的处理器名字默认为文件("files")
  619. ; 如果想要使用自定义的处理器(如基于数据库的处理器)可用"user"
  620. ; 设为"memcache"则可以使用memcache作为会话处理器(需要指定"--enable-memcache-session"编译选项)
  621. ; 还有一个使用PostgreSQL的处理器http://sourceforge.net/projects/phpform-ext/
  622. session.save_path = "/tmp"
  623. ; 传递给存储处理器的参数对于files处理器此值是创建会话数据文件的路径
  624. ; Windows下默认为临时文件夹路径
  625. ; 你可以使用"N;[MODE;]/path"这样模式定义该路径(N是一个整数)
  626. ; N表示使用N层深度的子目录而不是将所有数据文件都保存在一个目录下
  627. ; [MODE;]可选必须使用8进制数默认"600"表示文件的访问权限
  628. ; 这是一个提高大量会话性能的好主意
  629. ; 注意0: "N;[MODE;]/path"两边的双引号不能省略
  630. ; 注意1: [MODE;]并不会改写进程的umask
  631. ; 注意2: php不会自动创建这些文件夹结构请使用ext/session目录下的mod_files.sh脚本创建
  632. ; 注意3: 如果该文件夹可以被不安全的用户访问(比如默认的"/tmp")那么将会带来安全漏洞
  633. ; 注意4: 当N>0时自动垃圾回收将会失效具体参见下面有关垃圾搜集的部分
  634. ; [安全提示]建议针对每个不同的虚拟主机分别设置各自不同的目录
  635. ;
  636. ; 对于"memcache"处理器需要定义一个逗号分隔的服务器URL用来存储会话数据
  637. ; 比如"tcp://host1:11211, tcp://host2:11211"
  638. ; 每个URL都可以包含传递给那个服务器的参数可用的参数与 Memcache::addServer() 方法相同
  639. ; 例如"tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"
  640. session.name = "PHPSESSID"
  641. ;用在cookie里的会话ID标识名只能包含字母和数字
  642. session.auto_start = Off
  643. ; 在客户访问任何页面时都自动初始化会话默认禁止
  644. ; 因为类定义必须在会话启动之前被载入所以若打开这个选项你就不能在会话中存放对象
  645. session.serialize_handler = "php"
  646. ; 用来序列化/解序列化数据的处理器php是标准序列化/解序列化处理器
  647. ; 另外还可以使用"php_binary"当启用了WDDX支持以后将只能使用"wddx"
  648. session.gc_probability = 1
  649. session.gc_divisor = 100
  650. ; 定义在每次初始化会话时启动垃圾回收程序的概率
  651. ; 这个收集概率计算公式如下session.gc_probability/session.gc_divisor
  652. ; 对会话页面访问越频繁概率就应当越小建议值为1/1000~5000
  653. session.gc_maxlifetime = 1440
  654. ; 超过此参数所指的秒数后保存的数据将被视为'垃圾'并由垃圾回收程序清理
  655. ; 判断标准是最后访问数据的时间(对于FAT文件系统是最后刷新数据的时间)
  656. ; 如果多个脚本共享同一个session.save_path目录但session.gc_maxlifetime不同
  657. ; 那么将以所有session.gc_maxlifetime指令中的最小值为准
  658. ; 如果使用多层子目录来存储数据文件垃圾回收程序不会自动启动
  659. ; 你必须使用一个你自己编写的shell脚本cron项或者其他办法来执行垃圾搜集
  660. ; 比如下面的脚本相当于设置了"session.gc_maxlifetime=1440" (24分钟)
  661. ; cd /path/to/sessions; find -cmin +24 | xargs rm
  662. session.referer_check =
  663. ; 如果请求头中的"Referer"字段不包含此处指定的字符串则会话ID将被视为无效
  664. ; 注意如果请求头中根本不存在"Referer"字段的话会话ID将仍将被视为有效
  665. ; 默认为空即不做检查(全部视为有效)
  666. session.entropy_file = ;"/dev/urandom"
  667. ; 附加的用于创建会话ID的外部高熵值资源(文件)
  668. ; 例如UNIX系统上的"/dev/random""/dev/urandom"
  669. session.entropy_length = 0
  670. ; 从高熵值资源中读取的字节数(建议值16)
  671. session.use_cookies = On
  672. ; 是否使用cookie在客户端保存会话ID
  673. session.use_only_cookies = Off
  674. ; 是否仅仅使用cookie在客户端保存会话IDPHP6的默认值为On
  675. ; 打开这个选项可以避免使用URL传递会话带来的安全问题
  676. ; 但是禁用Cookie的客户端将使会话无法工作
  677. session.cookie_lifetime = 0
  678. ; 传递会话ID的Cookie有效期()0 表示仅在浏览器打开期间有效
  679. ; [提示]如果你不能保证服务器时间和客户端时间严格一致请不要改变此默认值
  680. session.cookie_path = "/"
  681. ; 传递会话ID的Cookie作用路径
  682. session.cookie_domain =
  683. ; 传递会话ID的Cookie作用域
  684. ; 默认为空表示表示根据cookie规范生成的主机名
  685. session.cookie_secure = Off
  686. ; 是否仅仅通过安全连接(https)发送cookie
  687. session.cookie_httponly = Off
  688. ; 是否在cookie中添加httpOnly标志(仅允许HTTP协议访问)
  689. ; 这将导致客户端脚本(JavaScript等)无法访问该cookie
  690. ; 打开该指令可以有效预防通过XSS攻击劫持会话ID
  691. session.cache_limiter = "nocache"
  692. ; 设为{nocache|private|public}以指定会话页面的缓存控制模式
  693. ; 或者设为空以阻止在http应答头中发送禁用缓存的命令
  694. session.cache_expire = 180
  695. ; 指定会话页面在客户端cache中的有效期限(分钟)
  696. ; session.cache_limiter=nocache时此处设置无效
  697. session.use_trans_sid = Off
  698. ; 是否使用明码在URL中显示SID(会话ID)
  699. ; 默认是禁止的因为它会给你的用户带来安全危险
  700. ; 1- 用户可能将包含有效sid的URL通过email/irc/QQ/MSN...途径告诉给其他人
  701. ; 2- 包含有效sid的URL可能会被保存在公用电脑上
  702. ; 3- 用户可能保存带有固定不变sid的URL在他们的收藏夹或者浏览历史纪录里面
  703. ; 基于URL的会话管理总是比基于Cookie的会话管理有更多的风险所以应当禁用
  704. session.bug_compat_42 = On
  705. session.bug_compat_warn = On
  706. ; PHP4.2之前的版本有一个未注明的"BUG"
  707. ; 即使在register_globals=Off的情况下也允许初始化全局session变量
  708. ; 如果你在PHP4.3之后的版本中使用这个特性会显示一条警告
  709. ; 建议关闭该"BUG"并显示警告PHP6删除了这两个指令相当于全部设为Off
  710. session.hash_function = 0
  711. ; 生成SID的散列算法SHA-1的安全性更高一些
  712. ; 0: MD5 (128 bits)
  713. ; 1: SHA-1 (160 bits)
  714. ; 建议使用SHA-1
  715. session.hash_bits_per_character = 4
  716. ; 指定在SID字符串中的每个字符内保存多少bit
  717. ; 这些二进制数是hash函数的运算结果
  718. ; 4: 0-9, a-f
  719. ; 5: 0-9, a-v
  720. ; 6: 0-9, a-z, A-Z, "-", ","
  721. ; 建议值为 5
  722. url_rewriter.tags = "a=href,area=href,frame=src,form=,fieldset="
  723. ; 此指令属于PHP核心部分并不属于Session模块
  724. ; 指定重写哪些HTML标签来包含SID(仅当session.use_trans_sid=On时有效)
  725. ; form和fieldset比较特殊
  726. ; 如果你包含他们URL重写器将添加一个隐藏的"<input>"它包含了本应当额外追加到URL上的信息
  727. ; 如果要符合XHTML标准请去掉form项并在表单字段前后加上<fieldset>标记
  728. ; 注意所有合法的项都需要一个等号(即使后面没有值)
  729. ; 推荐值为"a=href,area=href,frame=src,input=src,form=fakeentry"
  730. session.encode_sources = "globals"
  731. ; PHP6中有争议的指令尚未决定是否采用该指令也尚无相关文档
  732. ;;;;;;;;;;;;;;;;
  733. ;; 其他模块 ;;
  734. ;;;;;;;;;;;;;;;;
  735. [APC-3.0.16]
  736. ; Alternative PHP Cache 用于缓存和优化PHP中间代码
  737. ; 编译/安装/配置信息都位于源码树下的 INSTALL 文件中
  738. apc.enabled = On
  739. ; 是否启用APC如果APC被静态编译进PHP又想禁用它这是唯一的办法
  740. apc.enable_cli = Off
  741. ; 是否为CLI版本启用APC功能仅用于测试和调试目的才打开此指令
  742. apc.cache_by_default = On
  743. ; 是否默认对所有文件启用缓冲
  744. ; 若设为Off并与以加号开头的apc.filters指令一起用则文件仅在匹配过滤器时才被缓存
  745. apc.file_update_protection = 2
  746. ; 当你在一个运行中的服务器上修改文件时你应当执行原子操作
  747. ; 也就是先写进一个临时文件然后将该文件重命名(mv)到最终的名字
  748. ; 文本编辑器以及 cp, tar 等程序却并不是这样操作的从而导致有可能缓冲了残缺的文件
  749. ; 默认值 2 表示在访问文件时如果发现修改时间距离访问时间小于 2 秒则不做缓冲
  750. ; 那个不幸的访问者可能得到残缺的内容但是这种坏影响却不会通过缓存扩大化
  751. ; 如果你能确保所有的更新操作都是原子操作那么可以用 0 关闭此特性
  752. ; 如果你的系统由于大量的IO操作导致更新缓慢你就需要增大此值
  753. apc.filters =
  754. ; 一个以逗号分隔的POSIX扩展正则表达式列表
  755. ; 如果源文件名与任意一个模式匹配则该文件不被缓存
  756. ; 注意用来匹配的文件名是传递给include/require的文件名而不是绝对路径
  757. ; 如果正则表达式的第一个字符是"+"则意味着任何匹配表达式的文件会被缓存
  758. ; 如果第一个字符是"-"则任何匹配项都不会被缓存"-"是默认值可以省略掉
  759. apc.ttl = 0
  760. ; 缓存条目在缓冲区中允许逗留的秒数0 表示永不超时建议值为7200~86400
  761. ; 设为 0 意味着缓冲区有可能被旧的缓存条目填满从而导致无法缓存新条目
  762. apc.user_ttl = 0
  763. ; 类似于apc.ttl只是针对每个用户而言建议值为7200~86400
  764. ; 设为 0 意味着缓冲区有可能被旧的缓存条目填满从而导致无法缓存新条目
  765. apc.gc_ttl = 3600
  766. ; 缓存条目在垃圾回收表中能够存在的秒数
  767. ; 此值提供了一个安全措施即使一个服务器进程在执行缓存的源文件时崩溃
  768. ; 而且该源文件已经被修改为旧版本分配的内存也不会被回收直到达到此TTL值为止
  769. ; 设为零将禁用此特性
  770. apc.include_once_override = Off
  771. ; 优化include_once()和require_once()函数以避免执行额外的系统调用
  772. apc.max_file_size = 1M
  773. ; 禁止大于此尺寸的文件被缓存
  774. apc.mmap_file_mask =
  775. ; 如果使用--enable-mmap(默认启用)为APC编译了MMAP支持
  776. ; 这里的值就是传递给mmap模块的mktemp风格的文件掩码(建议值为"/tmp/apc.XXXXXX")
  777. ; 该掩码用于决定内存映射区域是否要被file-backed或者shared memory backed
  778. ; 对于直接的file-backed内存映射要设置成"/tmp/apc.XXXXXX"的样子(恰好6个X)
  779. ; 要使用POSIX风格的shm_open/mmap就需要设置成"/apc.shm.XXXXXX"的样子
  780. ; 你还可以设为"/dev/zero"来为匿名映射的内存使用内核的"/dev/zero"接口
  781. ; 不定义此指令则表示强制使用匿名映射
  782. apc.num_files_hint = 1000
  783. ; Web服务器上可能被包含或被请求的不同脚本源代码文件的大致数量(建议值为1024~4096)
  784. ; 如果你不能确定则设为 0 此设定主要用于拥有数千个源文件的站点
  785. apc.optimization = 0
  786. ; 优化级别(建议值为 0 ) 反对使用该指令将来可能会被删除
  787. ; 正整数值表示启用优化器值越高则使用越激进的优化
  788. ; 更高的值可能有非常有限的速度提升但目前尚在试验中
  789. apc.report_autofilter = Off
  790. ; 是否记录所有由于early/late binding原因而自动未被缓存的脚本
  791. apc.shm_segments = 1
  792. ; 为编译器缓冲区分配的共享内存块数量(建议值为1)
  793. ; 如果APC耗尽了共享内存并且已将apc.shm_size指令设为系统允许的最大值可以尝试增大此值
  794. ; 在mmap模式下设置为 1 之外的其它值是无效的因为经过mmap的共享内存段的大小是没有限制的
  795. apc.shm_size = 30
  796. ; 每个共享内存块的大小(以MB为单位建议值为128~256)
  797. ; 有些系统(包括大多数BSD变种)默认的共享内存块尺寸很小
  798. apc.slam_defense = 0
  799. ; 在非常繁忙的服务器上无论是启动服务还是修改文件
  800. ; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件
  801. ; 这个指令用于设置进程在处理未被缓存的文件时跳过缓存步骤的百分率
  802. ; 比如设为75表示在遇到未被缓存的文件时有75%的概率不进行缓存从而减少碰撞几率
  803. ; 反对使用该指令鼓励设为 0 来禁用这个特性建议该用apc.write_lock指令
  804. apc.stat = On
  805. ; 是否启用脚本更新检查
  806. ; 改变这个指令值要非常小心
  807. ; 默认值 On 表示APC在每次请求脚本时都检查脚本是否被更新
  808. ; 如果被更新则自动重新编译和缓存编译后的内容但这样做对性能有不利影响
  809. ; 如果设为 Off 则表示不进行检查从而使性能得到大幅提高
  810. ; 但是为了使更新的内容生效你必须重启Web服务器
  811. ; 这个指令对于include/require的文件同样有效但是需要注意的是
  812. ; 如果你使用的是相对路径APC就必须在每一次include/require时都进行检查以定位文件
  813. ; 而使用绝对路径则可以跳过检查所以鼓励你使用绝对路径进行include/require操作
  814. apc.user_entries_hint = 4096
  815. ; 类似于num_files_hint指令只是针对每个不同用户而言
  816. ; 如果你不能确定则设为 0
  817. apc.write_lock = On
  818. ; 是否启用写入锁
  819. ; 在非常繁忙的服务器上无论是启动服务还是修改文件
  820. ; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件
  821. ; 启用该指令可以避免竞争条件的出现
  822. a

Large files files are truncated, but you can click here to view the full file