php.ini自己的翻译

php 专栏收录该内容
2 篇文章 0 订阅

说明:

      虽然网上已经有了php.ini的翻译,但是我还是想在自行翻译,顺便加深一下自己的理解,欢迎大家交流。php的配置文件采用的是php7.2的配置文件。

 

[PHP]

;;;;;;;;;;;;;;;;;;;
; 关于 php.ini   ;
;;;;;;;;;;;;;;;;;;;
; PHP的初始化文件,通常叫做php.ini,用于配置PHP许多方面的行为。

; PHP 会尝试通过许多方式和路径来查找并且加载配置。 
; 以下是查找与加载顺序:
; 1. SAPI模式指定的位置。(译者注:我的理解就是以php-cgi方式启动的时候-c指定的php.ini的位置,如./php-cgi.exe -b 127.0.0.1:9000 -c ./php.ini)。
; 2. 通过PHPRC环境配置的路径. (截至到PHP 5.2.0)。
; 3. 通过Windows上的一些预定义的注册键(截止到PHP 5.2.0)。
; 4. 当前工作目录 (除了CLI)。
; 5. web服务器的目录 (使用SAPI模式),或者在PHP目录(如果在Windows中)。
; 6. 编译PHP时通过--with-config-file-path参数指定的目录或者Windos目录(C:\windows or C:\winnt)。
; 了解更多信息可以参考PHP文档。
; http://php.net/configuration.file

; 文件的语法非常的简单。空格和每行开头的分号是被忽略的(想必你已经看出来了)。
; 小节标题(如[Foo])也是被忽略的,即使它在未来可能会有意义。

; 小节标题[PATH=/www/mysite]下的指令只作用于/www/mysite目录下的PHP文件。
; 小节标题[HOST=www.example.com]下的指令只作用于www.example.com下提供服务的PHP文件。
; 通过这些特殊小节设置的指令不会覆盖用户自己定义的ini文件或者运行时进行的设置。
; 目前[PATH=]和[HOST=]小节只作用于CGI/FastCGI模式下。
; http://php.net/ini.sections

; 指令设置遵从以下语法:
; directive = value
; 指令名称是大小写敏感的比如foo=bar与FOO=bar是完全不同的。
; 指令是用于配置PHP或者PHP拓展的变量。
; 由于没有指令名称校验功能,所以如果PHP因为错误的设置或者错误的类型没有找到期望的指令时就会使用默认值。

; 指令的值可以为一个字符串,一个数字,一个PHP常量(比如E_ALL或者M_PI),一个INI常量(On,Off,Ture,False,Yes,No和None)
; 一个表达式(比如E_ALL & ~E_NOTICE),一个引用字符串("bar"),或者之前设置过的变量或者指令(如${foo})


; INI文件中的表达式只能使用位运算符和圆括号:
; |  按位或 OR
; ^  按位异或 XOR
; &  按位与 AND
; ~  按位非 NOT
; !  逻辑非 NOT

; 布尔标志可以用1,On,True,Yes打开,使用0,Off,False,No关闭。

; 如果要设置空字符串可以通过不写值或者设置值为None这两种方式:

;  foo =         ; 设置foo为空串
;  foo = None    ; 设置foo为空串
;  foo = "None"  ; 设置foo的值为字符串"None"

; 如果你要使用任何动态加载的拓展的常量(无论是PHP拓展还是Zend拓展),你只有在加载拓展的指令行之后才能使用。

;;;;;;;;;;;;;;;;;;;
; 关于这个文件 ;
;;;;;;;;;;;;;;;;;;;
; PHP打包了两个INI文件。一个推荐用于生产环境,一个推荐用于开发环境。

; php.ini-production包含了安全,性能和对内核最佳实践的配置。但是请注意这些配置可能会破坏较早或较少的安全应用的兼容性
; (译者注:这句话我也看的不是很懂,原文是:"But please be aware, these settings may break
; compatibility with older or less security conscience applications.")
; 我们推荐使用在生产与测试环境使用这个配置文件。

; php.ini-development与生产环境使用的配置相差不太大,主要是发生错误时会显示更详细的错误信息。
; 我们推荐只在开发环境中使用这套配置,避免泄露过多的信息带来安全问题。

; 当前是php.ini-development文件.

;;;;;;;;;;;;;;;;;;;
; 快速参考 ;
;;;;;;;;;;;;;;;;;;;
; 下面列举了生产配置,开发配置与默认配置不同的配置项。
; 请参阅文档后面的实际配置了解更多详情以及如此配置的原因。
; 我们建议在PHP的行为中做这些改变。

; display_errors
;   默认值: On
;   开发环境的值: On
;   生产环境的值: Off

; display_startup_errors
;   默认值: Off
;   开发环境的值: On
;   生产环境的值: Off

; error_reporting
;   默认值: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
;   开发环境的值: E_ALL
;   生产环境的值: E_ALL & ~E_DEPRECATED & ~E_STRICT

; html_errors
;   默认值: On
;   开发环境的值: On
;   生产环境的值: On

; log_errors
;   默认值: Off
;   开发环境的值: On
;   生产环境的值: On

; max_input_time
;   默认值: -1 (Unlimited)
;   开发环境的值: 60 (60 seconds)
;   生产环境的值: 60 (60 seconds)

; output_buffering
;   默认值: Off
;   开发环境的值: 4096
;   生产环境的值: 4096

; register_argc_argv
;   默认值: On
;   开发环境的值: Off
;   生产环境的值: Off

; request_order
;   默认值: None
;   开发环境的值: "GP"
;   生产环境的值: "GP"

; session.gc_divisor
;   默认值: 100
;   开发环境的值: 1000
;   生产环境的值: 1000

; session.sid_bits_per_character
;   默认值: 4
;   开发环境的值: 5
;   生产环境的值: 5

; short_open_tag
;   默认值: On
;   开发环境的值: Off
;   生产环境的值: Off

; variables_order
;   默认值: "EGPCS"
;   开发环境的值: "GPCS"
;   生产环境的值: "GPCS"

;;;;;;;;;;;;;;;;;;;;
; php.ini 选择项  ;
;;;;;;;;;;;;;;;;;;;;
; 用户自定义的php.ini文件(译者注:在.user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI 设置可被识别,不是什么配置都可以改)的名称。默认是 ".user.ini"
;user_ini.filename = ".user.ini"

; 要禁用这个属性只需要设置空值就可以了
;user_ini.filename =

; PHP读取用户自定义的php.ini的文件的间隔时间。 默认是300秒 (5分钟)
;user_ini.cache_ttl = 300

;;;;;;;;;;;;;;;;;;;;
; 语言 选择项 ;
;;;;;;;;;;;;;;;;;;;;

; 使用Apache时启用PHP脚本语言引擎
; http://php.net/engine
engine = On

; 这个指令PHP能否识别<?和?>这两个标签之间的内容作为PHP代码处理。一般我们推荐使用<?php和?>这对标签
; 并且禁用这个属性。当这个属性被启用,我们在生成XML文档是可能会遇到问题。但是处于向后兼容的考虑,任就把保留了这个指令。
; 注意这个指令并不控制<?=标签,你可以不管这个指令的开关依旧使用它。 
; 默认值: On
; 开发环境的值: Off
; 生产环境的值: Off
; http://php.net/short-open-tag
short_open_tag = Off

; 浮点数显示的有效位数.
; http://php.net/precision
precision = 14


; 输出缓冲是用于控制输出数据多少的机制(除了header和cookie)。PHP在将数据发送给客户端前
; 应该先存储在内部。如果你的应用输出数据大于这个设置,PHP会发送大约你设置大小的数据块。
; 打开这个配置并且设置缓冲区的最大值可能会因为你的应用和web服务器产生一些有趣的副作用,
; 你可能在已经通过print或者echo发送了output数据后才发送header和cookie。如果你的服务通
; 过输出缓冲发送的数据比PHP输出流的得到的数据少,会有一些性能上的好处。在生产环境上,
; 4096字节是一个性能不错的设置。
; 注意: 输出缓冲也可以通过输出缓冲相关函数来控制
; 可能值:
;   On = 启用大小不限的缓冲区. (使用需要小心)
;   Off = 禁用
;   Integer = 启用缓冲并且设置缓冲数据的最大值.
; 注意: 这个指令在CLI SAPI模式下已经别硬编码为Off
; 默认值: Off
; 开发环境的值: 4096
; 生产环境的值: 4096
; http://php.net/output-buffering
output_buffering = 4096

; 你可以重定向你的脚本的所有输出到一个函数中。举个例子,如果你设置output_handler为"mb_output_handler",
; 字符将会按照指定方式编码。设置任何output_handler将会自动打开output_buffering配置。
; 注意: 如果需要编写可移植脚本就不能依赖这个ini指令。可以通过ob_start()来精确设置output handler
;   使用这个指令可能会导致一些问题,所以一定要知道你的脚本在做什么在使用这个指令。
; 注意: 不要将"mb_output_handler"和"ob_iconv_handler"同时使用
;   也不要将"ob_gzhandler"和"zlib.output_compression"同时使用 
; 注意: output_handler must 如果你要设置为'On'只需要将它设置为空即可,并且此时你不需要使用zlib.output_handler!!!
; http://php.net/output-handler
;output_handler =

; TODO:需理解
; 通过使用输出缓冲URL重写函数将会动态的重写URL。
; 你可以通过这个配置设置目标标签。
; "form"标签是很特殊的标签,它会添加一个隐藏的input标签来传值。
; 可参考session.trans_sid_tags来使用。
; 默认值: "form="
; 开发环境的值: "form="
; 生产环境的值: "form="
;url_rewriter.tags

; TODO:需理解
; 默认情况下URL重写器不会重写绝对路径的URL或者表单。要启用绝对路径URL重写,被允许的hosts必须在运行时定义。
; 想要了解更多可以参考session.trans_sid_hosts。
; 默认值: ""
; 开发环境的值: ""
; 生产环境的值: ""
;url_rewriter.hosts

; 使用zlib库进行透明输出压缩。
; 指令合法的值为'off','on'或者为压缩功能指定一个buffer大小(默认4KB)。
; 注意: 由于压缩的特性产生的数据块大小可能不同。压缩产生的PHP输出数据块每个大小只有几百字节。
;   如果为了性能考虑你需要更大的数据块你可以另外启用output_buffer。
; 注意: 你需要使用zlib.output_handler来代替标准的output_handler,否则输出可能会崩溃。
; http://php.net/zlib.output-compression
zlib.output_compression = Off

; http://php.net/zlib.output-compression-level
;zlib.output_compression_level = -1

; 如果你使用了zlib.output_compression那么你不能在使用output_handler而应该使用这个指令。
; 这个设置与output_handler是相同的只是命令不同。
; http://php.net/zlib.output-handler
;zlib.output_handler =

; Implicit flush 告诉PHP通知输出层在每个信息块输出后自动刷新。
; 这等同于每次使用print(),echo()或者每个html块后调用flush()。
; 启用这个功能会严重的影响性能,一般建议只在调试时使用。
; http://php.net/implicit-flush
; 注意: 这个指令在CLI SAPI中被硬编码为"On"
implicit_flush = Off

; 这个反序列化回调函数会在试图实例化但是却找不到定义的类时被调用(类名会作为参数函数的参数)
; 如果这个方法不存在或者函数没有包含/实现该未定义类则会报告一个警告。
; 所以当你确定要实现这样的回调方式在设置这个指令。
unserialize_callback_func =

; 当float和double类型的值被序列化的时候,存储serialize_precision指定的位数。
; 默认值会确保当float类型的值被序列化后与原来的值相同。
; 当double类型的数值被json_encode编码时也会用到这个设置。
; 如果这个指令设置为-1,那么dtoa mode 0会自动选择最好的精度(译者注这个不是很明白,原文是"If -1 is used, then dtoa mode 0 is used which automatically select the best precision.")
serialize_precision = -1

; 如果设置了open_basedir将会限制你对文件的操作,你只能对open_basedir设置的目录下的文件进行操作。
; 如果你在web server的per-directory与per-virtualhost功能提供的配置文件中设置是最有意义的(译者注:比如在apache的httpd.conf中的VritualHost设置php_admin_value open_basedir "指定目录")。
; http://php.net/open-basedir
;open_basedir =

; 这个指令允许你为了安全原因禁用某些方法。
; 多个方法以逗号隔开。
; http://php.net/disable-functions
disable_functions = 

; 这个指令允许你为了安全原因禁用某些类。
; 多个类以逗号隔开。
; http://php.net/disable-classes
disable_classes =

; 设置语法高亮模式的颜色。任何可以在<span style="color:????">上起作用的值都可以设置。
; http://php.net/syntax-highlighting
;highlight.string  = #DD0000
;highlight.comment = #FF9900
;highlight.keyword = #007700
;highlight.default = #0000BB
;highlight.html    = #000000

; 如果启用这个设置请求将会允许在用户中断的情况下依然完成请求。
; 如果有执行时间较长,而且可能因为用户或者浏览器连接超时而可中断的请求,可以考虑开启这个设置。
; PHP默认禁用此设置。
; http://php.net/ignore-user-abort
;ignore_user_abort = On

; 设置PHP的realpath cache的大小。
; 这个值在PHP需要打开大量文件的系统上需要增加。
; http://php.net/realpath-cache-size
;realpath_cache_size = 4096k

; 缓存给定目录与文件的realpath信息的有效时间,以秒为单位。
; 对于文件不经常改变的系统,可以考虑提高该值。
; http://php.net/realpath-cache-ttl
;realpath_cache_ttl = 120

; 启用或者禁用循环引用计数收集器。
; http://php.net/zend.enable-gc
zend.enable_gc = On

; 如果启用,脚本可以用和scanner不兼容的编码编写。
; 例如CP936, Big5, CP949 和 Shift_JISIf这样的编码。
; 要使用这个设置,mbstring的拓展必须要打开。
; 默认: Off
;zend.multibyte = Off

; 允许设置脚本的默认编码。  This value will be used
; 如果在脚本开始处调用declare(encoding=...)则此属性不会生效。
; 只有设置了zend.multibyte此属性才生效。
; 默认: ""
;zend.script_encoding =

;;;;;;;;;;;;;;;;;
; 其他 ;
;;;;;;;;;;;;;;;;;

; 设置是否暴露服务器安装的PHP信息(比如web服务器添加在header的签名,像是X-Powered-By:PHP/7.2.10)
; 这在任何方面都是没有安全威胁的,但是它可以确定你是否在服务器上使用了PHP。
; http://php.net/expose-php
expose_php = On

;;;;;;;;;;;;;;;;;;;
; 资源限制 ;
;;;;;;;;;;;;;;;;;;;

; 每个脚本的最长执行时间,以秒为单位
; http://php.net/max-execution-time
; 注意: 这个指令在CLI SAPI中被硬编码为0
max_execution_time = 30

; 每个脚本输入数据的最长解析时间。
; 在生产环境设置这个属性可以避免意外的长时间脚本。
; 注意: 这个指令在CLI SAPI中被硬编码为-1。
; 默认值: -1 (无限制)
; 开发环境: 60的值 (60 秒)
; 生产环境: 60的值 (60 秒)
; http://php.net/max-input-time
max_input_time = 60

; 输入变量嵌套层级最大值。
; http://php.net/max-input-nesting-level
;max_input_nesting_level = 64

; 设置PHP可以接受多少GET/POST/COOKIE的输入变量。
; max_input_vars = 1000

; 一个脚本可以使用的最大内存值(128MB)
; http://php.net/memory-limit
memory_limit = 128M

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 错误处理与日志 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; 这个指令通知PHP你想要对错误,警告还是提示采取行动。
; 这个指令推荐通过错误层级常量和按位操作符来设置值。
; 为了方便起见我们把错误层级常量,一些通用设置和它们的解释列在了下边。
; 默认情况下PHP会报告所有的错误,提示与警告。除了那些与E_NOTICE与E_STRICT相关的错误和警告之外,
; 他们覆盖了PHP中的最佳实践和推荐的编码标准。
; 考虑到性能的问题,我们推荐这样的错误报告的配置方式。
; 因为你的生产服务器不应该浪费资源抱怨最佳实践和编码标准。
; 所以我们才需要开发环境和开发设置去做这些事情。
; 注意: php.ini-development文件这个配置的值为E_ALL。这意味着在进行开发和早期测试的时候
; 将会报告几乎一切你想要的错误
; 
; 错误等级常量:
; E_ALL             - 所有错误和警告 (PHP5.4.0之前包括E_STRICT)
; E_ERROR           - 致命运行错误
; E_RECOVERABLE_ERROR  - 接近致命的运行时错误
; E_WARNING         - 运行时警告(非致命错误)
; E_PARSE           - 编译时解析错误
; E_NOTICE          - 运行时提示(这个参数通常是因为你的代码中的bug导致的,
;					  但是很有可能是故意的(比如使用一个未初始化的变量并且依赖它自动初始化为空字符串的情况)
; E_STRICT          - 运行时提示,启用PHP建议来修改你的代码,以保证最好的互用性和向前兼容性。
; E_CORE_ERROR      - 在PHP初始化启动时发生的致命错误。
; E_CORE_WARNING    - 发生在PHP初始化启动时的警告(非致命错误)。
; E_COMPILE_ERROR   - 致命编译错误。
; E_COMPILE_WARNING - 编译时警告(非致命错误)。compile-time warnings (non-fatal errors)
; E_USER_ERROR      - 用户产生的错误信息。
; E_USER_WARNING    - 用户产生的警告信息。
; E_USER_NOTICE     - y哦那过户生成的提示信息。
; E_DEPRECATED      - 警告在未来版本可能会失效的PHP代码。
; E_USER_DEPRECATED - 用户生成的过时警告。
;
; 常用配置:
;   E_ALL (显示所有的错误,警告和提示包括编码标准。)
;   E_ALL & ~E_NOTICE  (展示所有的错误,除了提示)
;   E_ALL & ~E_NOTICE & ~E_STRICT  (展示所有的错误,除了提示和编码标准警告。)
;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (只显示错误)
; 默认值s: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; 开发环境的值: E_ALL
; 生产环境的值: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting = E_ALL

; 这个指令控制PHP是否输出错误,提示和警告。
; 错误输出在开发时很有用,但是用于生产环境则是危险的。
; 代码出发的错误可能会泄露你的应用的敏感信息,比如数据库的用户名或者密码。
; 在生产环境下,我们推荐相比将错误信息送到标准输出更应该将其记录在日志中。
; 可能的值:
;   Off = 不显示任何错误
;   stderr = 显示错误到标准错误(STDERR)(只影响CGI/CLI二进制文件)
;   On or stdout = 显示错误到标准输出(STROUT)
; 默认值: On
; 开发环境的值: On
; 生产环境的值: Off
; http://php.net/display-errors
display_errors = On

; 在PHP启动序列中出现的错误与display_error是分开处理的。
; PHP默认行为会在客户端中抑制这些错误。
; 启用这个配置可以方便我们调试配置错误。我们强烈建议在生产环境设置为'off'
; 默认值: Off
;开发环境值: On
; 生产环境值: Off
; http://php.net/display-startup-errors
display_startup_errors = On

; 除了显示错误,PHP也可以记录错误到其他位置。
; 例如服务器特定日志, STDERR或者指令error_log指定的位置。
; 同时在生产环境中虽然不应该显示错误,但是错误依然应该被监控,而日志记录是很好的方法。
; 默认值: Off
; 开发环境的值: On
; 生产环境的值: On
; http://php.net/log-errors
log_errors = On

; 设置log_errors的最长字节数。关于源的错误信息会被添加的error_log中。
; 默认这为1024,如果设置为0那么表示不对最大值做限制。
; http://php.net/log-errors-max-len
log_errors_max_len = 1024

; 不记录重复信息。相同文件相同行会产生重复错误,除非设置
; ignore_repeated_source为true。
; http://php.net/ignore-repeated-errors
ignore_repeated_errors = Off

; 忽略重复消息是忽略消息源。
; 当这个设置为On时重复信息将不会记录它来自不同文件还是不同的源码行产生的。
; http://php.net/ignore-repeated-source
ignore_repeated_source = Off

; 如果这个参数被设置为Off,那么内存泄露信息不会被显示(在标准输出或者日志中)
; 这只对调试编译有效,而且需要error_reporting包含E_WARNING才会起作用。
; http://php.net/report-memleaks
report_memleaks = On

; 这个设置默认为on.
;report_zend_debug = 0

; 存储最后一个error/warning信息于$php_errormsg。
; 这个指令已经过期。
; 默认值: Off
; 开发环境的值: Off
; 生产环境的值: Off
; http://php.net/track-errors
;track_errors = Off

; 关闭正常的错误报告并且设置错误格式为XML-RPC错误信息的格式。
; http://php.net/xmlrpc-errors
;xmlrpc_errors = 0

; 一个XML-RPC错误码
;xmlrpc_error_number = 0

; 当php显示或者记录一个错误,为了更易阅读,错误信息会兼容HTML的格式。
; 这个指令控制错误信息是否格式化为HTML的代码。
; 注意: 这个指令在CLIS API中硬编码为Off
; 默认值: On
; 开发环境的值: On
; 生产环境的值: On
; http://php.net/html-errors
html_errors = On

; 如果html_errors设置为On并且docref_root不为空,PHP会产生可点击的错误信息跳转到包含错误描述的参考页面
; 或者导致错误的函数描述页面。
; 你可以从http://php.net/docs下载一个PHP手册的副本,并且改变
; docref_root为你本地副本的以'/'开头的base URL。
; 你也必须用.来指定文件的拓展名。
; PHP的默认会将这些设置为空,在这种情况下不会生成跳转到文档的链接
; 注意: 绝对不要将这个属性用于生产环境。
; http://php.net/docref-root
; Examples
;docref_root = "/phpmanual/"

; http://php.net/docref-ext
;docref_ext = .html

; 在错误信息之前输出一个字符串。 
; PHP默认将这个设置为空。
; http://php.net/error-prepend-string
; 例如:
;error_prepend_string = "<span style='color: #ff0000'>"

; 在错误信息之后输出一个字符串。 PHP's default behavior is to leave
; PHP默认会将这个设置为空。
; http://php.net/error-append-string
; 例如:
;error_append_string = "</span>"

; 记录错误到指定文件。 PHP's default behavior is to leave this value
; PHP默认将这个指令设置为空。
; http://php.net/error-log
; 例如:
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog

;windows.show_crt_warning
; 默认值: 0
; 开发环境的值 0
; 生产环境的值 0

;;;;;;;;;;;;;;;;;
; 数据处理 ;
;;;;;;;;;;;;;;;;;

; 这个分隔符用以分隔PHP所产生的URL的参数。
; PHP默认设置为"&"。
; http://php.net/arg-separator.output
; 例如:
;arg_separator.output = "&amp;"

; PHP用于解析输入URL变量的分隔符列表。
; PHP默认设置为"&"。
; 注意: 这个指令中的每个字符都会被看作时分隔符!
; http://php.net/arg-separator.input
; 例如:
;arg_separator.input = ";&"

; 这个指令决定PHP在启动时注册哪些超级全局数组。
; G,P,C,E,S 是下列超级全局数组的缩写:
; GET, POST, COOKIE, ENV, SERVER.
; 注册这些数组可能会对性能有些影响,因为ENV不像其他的数组那么常用。
; ENV不推荐在生产服务器使用。 You
; 你依然可以通过getenv()来获取你需要的ENV变量。
; 默认值: "EGPCS"
; 开发环境的值: "GPCS"
; 生产环境的值: "GPCS";
; http://php.net/variables-order
variables_order = "GPCS"

; 这个指令决定了超级全局数组REQUEST中注册那些超级全局变量(G,P & c)。
; 同时它也决定了注册的顺序。
; 这个指令的值的设置方式与variables_order指令是相同的。
; 只有一点不同, 如果这个值为空,PHP将会使用variables_order中的值来代替。
; 而不会将超级全局数组REQUEST设置为空。
; 默认值: None
; 开发环境的值: "GP"
; 生产环境的值: "GP"
; http://php.net/request-order
request_order = "GP"

; 这个指令决定了PHP是否每次运行时注册$argv和$argc。
; $argv包含了一个含有所有PHP脚本被调用时的所有参数的数组。
; $argc包含了一个整数,这个整数代表了脚本被调用时参数的数量。
; 这些数组在通过命令行运行脚本时非常有用。 
; 当这个指令被起用,在每次脚本执行时注册这些变量是会消耗CPU和内存资源的。
; 所以为了性能原因,在生产环境中应该禁用这个属性。
; 注意: 这个指令在CLI SAPI中被硬编码为On。
; 默认值: On
; 开发环境的值: Off
; 生产环境的值: Off
; http://php.net/register-argc-argv
register_argc_argv = Off

; 当这个设置被起用后,ENV,REQUEST和SERVER变量会在第一次使用时才被创建
; 而不是在脚本启动时创建。
; 如果这写变量没有在脚本中使用,因为没有创建这些变量,那么就会带来性能的增长。
; 要使用这个指令必须禁用register_argc_argv指令。
; http://php.net/auto-globals-jit
auto_globals_jit = On

; PHP是否读取POST的数据。
; 这个设置默认时启用的。
; 很可能你不会想全局禁用这个配置。
; 禁用会导致$_POST和$_FILES总是为空。只有通过php://input 流包装器(stream wrapper) 
; 才能读取到POST数据。这种方式对于代理请求或者想在 This can be useful
; 内存中高效处理POST数据很有用
; http://php.net/enable-post-data-reading
;enable_post_data_reading = Off

; PHP能接受的POST数据的最大值。
; 如果值设置为0代表没有限制。It is ignored if POST data reading
; 如果读取POST数据功能被enable_post_data_reading禁用了,这个配置也会被忽略。
; http://php.net/post-max-size
post_max_size = 8M

; 在PHP文档之前自动添加文件。
; http://php.net/auto-prepend-file
auto_prepend_file =

; 在PHP文档之后自动添加文件。
; http://php.net/auto-append-file
auto_append_file =

; 默认情况下,PHP会输出一个media type用于Content-Type头。
; 要想禁用它,设置这个属性为空即可。
;
; PHP默认的media type设置为test/html.
; http://php.net/default-mimetype
default_mimetype = "text/html"

; PHP默认字符集设置为UTF-8。
; http://php.net/default-charset
default_charset = "UTF-8"

; PHP内部字符编码设置为空。
; 如果为空,会使用default_charset代替。
; http://php.net/internal-encoding
;internal_encoding =

; PHP 输入字符编码设置为空。
; 如果为空会使用default_charset代替。
; http://php.net/input-encoding
;input_encoding =

; PHP输出字符编码设置为空。
; 如果为空会使用default_charset代替。
; 参见output_buffer。
; http://php.net/output-encoding
;output_encoding =

;;;;;;;;;;;;;;;;;;;;;;;;;
; 路径与目录 ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
;
; PHP默认设置include_path为".;/path/to/php/pear"
; http://php.net/include-path

; PHP页面的根目录,仅在非空时使用。
; 如果PHP在编译时没有指定FORCE_REDIRECT,并且在任何web服务器(除了IIS)中以CGI的方式运行,
; 那么你应该设置doc_root。
; 关于安全问题可以参考文档。另一种替代方案时使用下面的cgi.force_redirect配置。
; http://php.net/doc-root
doc_root = 

; PHP使用/~username打开脚本时的目录,只在设置为非空时生效
; http://php.net/user-dir
user_dir =

; 加载拓展时的目录
; http://php.net/extension-dir
; extension_dir = "./"
; 在Windows下:
extension_dir = "ext"

; 临时文件的存放目录。
; 默认使用系统默认的临时文件目录(可以通过sys_get_temp_dir获取)
; sys_temp_dir = "/tmp"

; 决定是否启用dl()函数。  
; dl()函数无法正常的工作在多线程的服务器上,例如IIS或者Zeus, 在这些
; 服务器上会自动禁用。
; http://php.net/enable-dl
enable_dl = Off

; 在大多数以CGI方式运行PHP的服务器上必须要使用这个配置来提供安全保障。
; 如果不定义这个配置,那么PHP默认是会启用这个配置。
; 如果你要设置为off那么后果自负。
; **你可以在IIS上设置为off,事实上你必须这么做。**
; http://php.net/cgi.force-redirect
;cgi.force_redirect = 1

; 如果cgi.nph被启用,那么将会强制cgi在每次请求都返回状态码200.
; PHP默认禁用这个属性。
;cgi.nph = 1

; 如果cgi.force_redirect被启用,并且你用的不是Apache或者Netscape的web服务器,
; 你也许需设置一个环境变量名称,PHP查找到该名称才可以继续执行。
; 设置这个变量可能会导致安全问题,所以设置之前你一定到知道你在做什么。
; http://php.net/cgi.redirect-status-env
;cgi.redirect_status_env =

; cgi.fix_pathinfo 为CGI提供真正的PATH_INFO/PATH_TRANSLATED支持。 
; PHP以前是将SCRIPT_FILENAME设置为PATH_TRANSLATED, 并不知道PATH_INFO是什么。
; 更多关于PATH_INFO的信息可以参考cgi规范。  Setting
; 设置这个值为1将会使PHP CGI修复路径以符合规范。设置为0则会使PHP使用先前的方式。
; 默认值为1。你应该修复你的脚本去使用SCRIPT_FILENAME而不是PATH_TRANSLATED。
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1

; 如果启用该选项PHP CGI目录将会被放置在web目录之外,人们不能避开.htaccess的安全限制来
; 进行攻击。
; http://php.net/cgi.dicard-path
;cgi.discard_path=1

; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
; security tokens of the calling client.  This allows IIS to define the
; security context that the request runs under.  mod_fastcgi under Apache
; does not currently support this feature (03/17/2002)
; Set to 1 if running under IIS.  Default is zero.
; http://php.net/fastcgi.impersonate
;fastcgi.impersonate = 1

; FastCGI连接禁用日志。
; PHP默认启用这个配置。
;fastcgi.logging = 0

; cgi.rfc2616_headers这个配置告诉PHP发送HTTP响应码时应该使用什么类型的headers。 
; 如果设置为0,PHP会发送支持Apache的Status:header。
; 当设置为1时,PHP将会发送RFC2616规定的header。
; 默认是0。
; http://php.net/cgi.rfc2616-headers
;cgi.rfc2616_headers = 0

; cgi.check_shebang_line 控制CGI PHP是否检查要运行的脚本起始行是否是以#!开头。
; 如果脚本需要支持以独立脚本和通过PHP CGI<方式运行也许需要这一行。
; 如果这个个指令被打开,在CGI模式中PHP会跳过这一行并且忽略内容。
; http://php.net/cgi.check-shebang-line
;cgi.check_shebang_line=1

;;;;;;;;;;;;;;;;
; 文件上传 ;
;;;;;;;;;;;;;;;;

; 是否允许通过HTTP上传文件。
; http://php.net/file-uploads
file_uploads = On

; HTTP上传文件的临时目录(如果没有指定会使用系统默认的临时目录)
; http://php.net/upload-tmp-dir
;upload_tmp_dir =

; 上传文件允许的最大值。
; http://php.net/upload-max-filesize
upload_max_filesize = 2M

; 通过一个请求可以上传的最大文件数
max_file_uploads = 20

;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;

; 是否允许处理以URL方式指定的文件(比如http:// or ftp://)。
; http://php.net/allow-url-fopen
allow_url_fopen = On

; 是否允许include/require方式去打开URL方式指定的文件。(like http:// or ftp://).
; http://php.net/allow-url-include
allow_url_include = Off

; 定义匿名ftp密码(你的email地址)。 
; PHP默认设置为空。
; http://php.net/from
;from="john@doe.com"

; 定义User-Agent字符串。PHP默认设置为空。
; http://php.net/user-agent
;user_agent="PHP"

; 默认基于流的socket超时时间(以秒为单位)
; http://php.net/default-socket-timeout
default_socket_timeout = 60

; 如果你的脚本需要处理来自Macintosh系统的文件或者运行在Mac上需要处理unix或者win32系统的文件,
; 设置这个标志会使PHP在这些文件中自动检测EOL字符,
; 以便fgets()和file()可以不管文件的来源而正常工作。
; http://php.net/auto-detect-line-endings
;auto_detect_line_endings = Off

;;;;;;;;;;;;;;;;;;;;;;
; 动态拓展 ;
;;;;;;;;;;;;;;;;;;;;;;

; 如果你希望自动加载一个拓展,使用下面的语法s:
;
;   extension=modulename
;
; 比如:
;
;   extension=mysqli
; 
; 当拓展库不再默认拓展目录里时,你需要指定库文件的绝对路径:
;
;   extension=/path/to/extension/mysqli.so
;
; 注意 : 之前PHP版本的语法('extension=<ext>.so'和'extension=php_<ext>.dll')因为历史原因
; 依旧支持,但是在未来的主要PHP版本有可能被废弃。
; 所以请尽可能使用新的语法('extension=<ext>')。 
;
; Windows环境需要注意 :
;
; - DLL文件可能放在extension/(PHP4)或者ext/(PHP5+),同样可以单独下载PECL DLL。
;   所以要正确的设置extension_dir指令。
;
;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp

;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl

;;;;;;;;;;;;;;;;;;;
; Module 设置 ;
;;;;;;;;;;;;;;;;;;;

[CLI Server]
; CLI web 服务器在终端输出时是否使用ANSI颜色。
cli_server.color = On

[Date]
; 定义使用日期函数时默认的时区。
; http://php.net/date.timezone
;date.timezone =

; http://php.net/date.default-latitude
;date.default_latitude = 31.7667

; http://php.net/date.default-longitude
;date.default_longitude = 35.2333

; http://php.net/date.sunrise-zenith
;date.sunrise_zenith = 90.583333

; http://php.net/date.sunset-zenith
;date.sunset_zenith = 90.583333

[filter]
; http://php.net/filter.default
;filter.default = unsafe_raw

; http://php.net/filter.default-flags
;filter.default_flags =

[iconv]
; 这个设置已经过期了,请使用全局input_encoding代替。
; 如果为空会使用default_charset或input_encoding或iconv.input_encoding。
; 优先级为: default_charset < intput_encoding < iconv.input_encoding
;iconv.input_encoding =

; 这个设置已经过期了,请使用全局internal_encoding代替。 
; 如果为空会使用default_charset或internal_encoding或iconv.internal_encoding。
; 优先级为: default_charset < internal_encoding < iconv.internal_encoding
;iconv.internal_encoding =

; 这个设置已经过期了,请使用全局output_encoding代替。
; 如果为空,会使用default_charset或output_encoding或iconv.output_encoding。
; 优先级为: default_charset < output_encoding < iconv.output_encoding
; To use an output encoding conversion, iconv's output handler must be set
; otherwise output encoding conversion cannot be performed.
;iconv.output_encoding =

[intl]
;intl.default_locale =
; 这个指令允许你在使用intl函数发生一些错误时产生出PHP错误。
; 这个值为错误等级常量。
; 默认为0不会产生任何错误。
;intl.error_level = E_WARNING
;intl.use_exceptions = 0

[sqlite3]
;sqlite3.extension_dir =

[Pcre]
; PCRE库回溯限制。
; http://php.net/pcre.backtrack-limit
;pcre.backtrack_limit=100000

;PCRE库递归限制.
;请注意如果你将这个值设置的很高,你有可能会消耗所有的可用进程堆栈
;从而导致PHP崩溃。 (因为达到了操作系统规定的堆栈大小限制).
; http://php.net/pcre.recursion-limit
;pcre.recursion_limit=100000

;启用或者禁用JIT编译模式。需要PCRE库支持JIT编译。
;pcre.jit=1

[Pdo]
; 是否公用odb连接。可以设置为"strict", "relaxed"或者"off"
; http://php.net/pdo-odbc.connection-pooling
;pdo_odbc.connection_pooling=strict

;pdo_odbc.db2_instance_name

[Pdo_mysql]
; 如果使用了mysqlnd:内部结果集缓存的缓存槽数
; http://php.net/pdo_mysql.cache_size
pdo_mysql.cache_size = 2000

; 默认mySQL连接的socket名称。如果为空使用MySQL默认的。
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket=

[Phar]
; http://php.net/phar.readonly
;phar.readonly = On

; http://php.net/phar.require-hash
;phar.require_hash = On

;phar.cache_list =

[mail function]
; 仅用于Win32。
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; 仅用于Win32。
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; 仅用于Unix。 你也可以提供参数(默认"sendmail -t -i")。
; http://php.net/sendmail-path
;sendmail_path =

; 强制将指定的参数作为额外参数强制添加给sendmail二进制文件。
; 这个参数会替换mail()的第5个参数。
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off

; 会记录所有mail调用的日志文件的路径。 日志条目包含了脚本的完整路径,
; 行号, To address和headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog

[ODBC]
; http://php.net/odbc.default-db
;odbc.default_db    =  暂未实现

; http://php.net/odbc.default-user
;odbc.default_user  =  暂未实现

; http://php.net/odbc.default-pw
;odbc.default_pw    =  暂未实现

; 控制ODBC游标模型。
; 默认: SQL_CURSOR_STATIC (默认).
;odbc.default_cursortype

; 允许或禁止持久连接。
; http://php.net/odbc.allow-persistent
odbc.allow_persistent = On

; 再重用之前检查连接是否依然有效。
; http://php.net/odbc.check-persistent
odbc.check_persistent = On

; 持久连接数最大值。-1 表示无限制。
; http://php.net/odbc.max-persistent
odbc.max_persistent = -1

; 连接数最大值(持久连接+非持久连接)。  -1表示无限制。
; http://php.net/odbc.max-links
odbc.max_links = -1

; LONG字段处理。返回变量的字节数。 0 means
; passthru.
; http://php.net/odbc.defaultlrl
odbc.defaultlrl = 4096

; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
; of odbc.defaultlrl and odbc.defaultbinmode
; http://php.net/odbc.defaultbinmode
odbc.defaultbinmode = 1

;birdstep.max_links = -1

[Interbase]
; 允许或者禁止持久连接。
ibase.allow_persistent = 1

; 持久连接数的最大值。 -1 表示没有限制。
ibase.max_persistent = -1

; 连接数最大值(持久连接加非持久连接)。-1表示没有限制。
ibase.max_links = -1

; ibase_connect()默认使用的数据库名称。
;ibase.default_db =

; ibase_connect()默认使用的用户名。
;ibase.default_user =

; ibase_connect()默认使用的密码。
;ibase.default_password =

; ibase_connect()默认使用的字符集。
;ibase.default_charset =

; 默认时间戳格式。
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"

; 默认日期格式。
ibase.dateformat = "%Y-%m-%d"

; 默认时间格式。
ibase.timeformat = "%H:%M:%S"

[MySQLi]

; 持久连接数的最大值。-1意味着没有限制。
; http://php.net/mysqli.max-persistent
mysqli.max_persistent = -1

; 从PHP的角度来看,允许访问带有LOAD DATA语句的本地文件。
; http://php.net/mysqli.allow_local_infile
;mysqli.allow_local_infile = On

; 是否允许长连接。
; http://php.net/mysqli.allow-persistent
mysqli.allow_persistent = On

; 连接数的最大值。-1表示无限制。
; http://php.net/mysqli.max-links
mysqli.max_links = -1

; 如果使用了mysqlnd:内部结果集缓存使用的缓存槽数。
; http://php.net/mysqli.cache_size
mysqli.cache_size = 2000

; mysqli_connect()默认的连接端口数。如果没有设置,mysqli_connect()将会使用$MYSQL_TCP_PORT
; 或者/etc/services中的mysql-tcp或者编译时定义的MYSQL_PORT的值。
; Win32将只会去寻找MYSQL_PORT。
; http://php.net/mysqli.default-port
mysqli.default_port = 3306

; 默认本地MySQL连接的socket名称。如果为空则使用MySQL默认的。
; http://php.net/mysqli.default-socket
mysqli.default_socket =

; mysql_connect()默认使用的host(安全模式不要使用).
; http://php.net/mysqli.default-host
mysqli.default_host =

; mysql_connect()默认使用的用户(不要用在安全模式).
; http://php.net/mysqli.default-user
mysqli.default_user =

; mysqli_connect()默认使用的密码(不要在安全模式使用).
; 注意在这个文件中存储密码通常是个很差的做法。
; 任何用户通过'echo get_cfg_var("mysqli.default_pw")'都可
; 以显示密码!  当然任何用户都可以通过查看这个文件得到密码。
; http://php.net/mysqli.default-pw
mysqli.default_pw =

; 是否允许reconnect
mysqli.reconnect = Off

[mysqlnd]
; 启用/禁用mgsqlnd一般统计信息收集。可以用于调优
; 和监控MySQL操作。
; http://php.net/mysqlnd.collect_statistics
mysqlnd.collect_statistics = On

; 启用/禁用mysqlnd内存使用信息统计。可以用于调优
; 和监控MySQL操作。
; http://php.net/mysqlnd.collect_memory_statistics
mysqlnd.collect_memory_statistics = On

; 记录所有使用mysqlnd拓展的通信信息到指定日志文件。
; http://php.net/mysqlnd.debug
;mysqlnd.debug =

; 定义将记录那些查询.
; http://php.net/mysqlnd.log_mask
;mysqlnd.log_mask = 0

; 默认mysqlnd用于结果集的内存池的大小。
; http://php.net/mysqlnd.mempool_default_size
;mysqlnd.mempool_default_size = 16000

; 在向MySQL发送命令式的预分配缓冲大小(字节)。
; http://php.net/mysqlnd.net_cmd_buffer_size
;mysqlnd.net_cmd_buffer_size = 2048

; 用于读取服务器发送的数据的预分配缓冲区的大小(字节)。
; http://php.net/mysqlnd.net_read_buffer_size
;mysqlnd.net_read_buffer_size = 32768

; 网络请求的超时时间,以秒为单位。
; http://php.net/mysqlnd.net_read_timeout
;mysqlnd.net_read_timeout = 31536000

; SHA-256认证插件相关。 带有MySQL服务器RSA公钥的文件。
; http://php.net/mysqlnd.sha256_server_public_key
;mysqlnd.sha256_server_public_key =

[OCI8]

; 连接: 启用使用外部证书的特殊连接。(OCI_SYSOPER, OCI_SYSDBA)
; http://php.net/oci8.privileged-connect
;oci8.privileged_connect = Off

; 连接: 每个进程OCI8的持久连接数最大值。
; 使用-1意味着没有限制。
; http://php.net/oci8.max-persistent
;oci8.max_persistent = -1

; 连接: 一个进程允许空闲持久连接存活的时间最大值,以秒为单位。
; 使用-1意味着持久连接将会永远存活。
; http://php.net/oci8.persistent-timeout
;oci8.persistent_timeout = -1

; 连接: 使用oci_pconnect()检查连接是否有效时发送ping包的间隔时间,以秒
; 为单位.当设置为0时,每次调用oci_pconnect()将只会发送1个ping包。
; 使用-1将不会发送ping包。
; http://php.net/oci8.ping-interval
;oci8.ping_interval = 60

; 连接: Set this to a user chosen connection class to be used
; for all pooled server requests with Oracle 11g Database Resident
; Connection Pooling (DRCP).  To use DRCP, this value should be set to
; the same string for all web servers running the same application,
; the database pool must be configured, and the connection string must
; specify to use a pooled server.
;oci8.connection_class =

; 高可靠性: Using On lets PHP receive Fast Application
; Notification (FAN) events generated when a database node fails. The
; database must also be configured to post FAN events.
;oci8.events = Off

; 优化: 这个选项启用了语句缓存。并且指定了缓存多少语句。
; 使用0禁用语句缓存。
; http://php.net/oci8.statement-cache-size
;oci8.statement_cache_size = 20

; 优化: 启用语句预读取,并且设置在语句执行后获取的结果集的默认行数。
; http://php.net/oci8.default-prefetch
;oci8.default_prefetch = 100

; 兼容: 设置为On意味着oci_close()将不会关闭oci_connect()和oci_new_connect()连接。
; http://php.net/oci8.old-oci-close-semantics
;oci8.old_oci_close_semantics = Off

[PostgreSQL]
; 是否开启持久连接。
; http://php.net/pgsql.allow-persistent
pgsql.allow_persistent = On

; 总是使用pg_pconnect()检测毁坏的持久连接。
; 自动重置会有一些性能开销。
; http://php.net/pgsql.auto-reset-persistent
pgsql.auto_reset_persistent = Off

; 持久连接数的最大值。-1意味着无限制。
; http://php.net/pgsql.max-persistent
pgsql.max_persistent = -1

; 连接数最大值(持久连接+非持久连接)。-1表示无限制。
; http://php.net/pgsql.max-links
pgsql.max_links = -1

; 是否忽略PostgreSQL后端提示信息。
; 注意提示信息记录会有一些性能开销。
; http://php.net/pgsql.ignore-notice
pgsql.ignore_notice = 0

; 是否记录PostgreSQL后端提示信息。
; 除非pgsql.ignore_notice=0,否则不能记录提示信息。
; http://php.net/pgsql.log-notice
pgsql.log_notice = 0

[bcmath]
; bcmath相关函数小数的位数。
; http://php.net/bcmath.scale
bcmath.scale = 0

[browscap]
; http://php.net/browscap
;browscap = extra/browscap.ini

[Session]
; 用于存储和接受数据的方式。
; http://php.net/session.save-handler
session.save_handler = files

; 传递给save_handler的参数。在session.save_handler设置为files的情况下,这个路径就是数据文件存储的路径。
; 注意:Windows用户为了使用PHP的session函数必须改变这个变量。
;
; 这个路径可以被定义为:
;
;     session.save_path = "N;/path"
;
; N为整数的地方,用于设定村塾session文件的路径的目录子目录深度。
; 如果你的系统在一个目录中有许多文件,目录中有更多层级的方式能够更高效的处理session。
;
; 注意 1: PHP不会自动创建这些目录结构。
;         你可以使用ext/session目录下的脚本完成创建。
; 注意 2: 如果选择子目录进行会话存储,请参阅下面的垃圾回收章节。
;
; 文件存储模式默认使用600mode创建文件。
; 你可以使用下面的方式修改:
;
;     session.save_path = "N;MODE;/path"
;
; MODE是mode的8进制表示。注意这不会覆盖线程的掩码。
; http://php.net/session.save-path
;session.save_path = "/tmp"

; 是否使用严格的session模式。
; 严格模式不会接口未初始化的session ID,如果浏览器
; 发送了未初始化的sessionID那么PHP会重新生成session ID。 
; Strict mode protects
; applications from session fixation via session adoption vulnerability. 
; 为了兼容性考虑默认是禁用的。但是推荐启用.
; https://wiki.php.net/rfc/strict_sessions
session.use_strict_mode = 0

; 是否使用cookie来存储session id。
; http://php.net/session.use-cookies
session.use_cookies = 1

; http://php.net/session.cookie-secure
;session.cookie_secure =

; 这个选项会强制PHP去获取和使用一个cookie来存储和维护session id。
; 我们鼓励使用这个设置,因为在没有指定和管理你自己的session id的情况下这个配置
; 对防止会话劫持非常有效。这不是会话劫持防御的一切和终结,但是是一个好的开始。
; http://php.net/session.use-only-cookies
session.use_only_cookies = 1

; session的名称。
; http://php.net/session.name
session.name = PHPSESSID

; 在请求开始时初始化session。
; http://php.net/session.auto-start
session.auto_start = 0

; cookie的存活时间,如果设置为0,直到浏览器关闭才失效。
; http://php.net/session.cookie-lifetime
session.cookie_lifetime = 0

; 会话cookie的路径。
; http://php.net/session.cookie-path
session.cookie_path = /

; 会话cookie的域名。
; http://php.net/session.cookie-domain
session.cookie_domain =

; 是否给cookie添加httpOnly标志。这个标志回事JavaScript之列的浏览器脚本语言难以操作cookie。
; http://php.net/session.cookie-httponly
session.cookie_httponly =

; 序列化数据的处理器。php是PHP标准的序列化处理器。
; http://php.net/session.serialize-handler
session.serialize_handler = php

; 定义每个session在初始化时启动垃圾回收进程的概率。
; 概率计算的方式为gc_probability/gc_divisor。
;  在这个公式中session.gc_probability是分子,gc_divisor是分母。
; 设置这个值为1,当session.gc_divisor为100时大概有1%的机会在每个请求中启动gc。
; 默认值: 1
; 开发环境的值: 1
; 生产环境的值: 1
; http://php.net/session.gc-probability
session.gc_probability = 1

; 定义每个session在初始化时启动垃圾回收进程的概率。
; 概率计算使用的下列公式:
; gc_probability/gc_divisor。 
; 在这个公式中session.gc_probability是分子,gc_divisor是分母。设置session.gc_probability为1
; 当session.gc_divisor为100时大概有1%的机会在每个请求中启动gc。
; 将这个这增加为1000则会有0.1%的几率在每个请求中启动gc。
; 对于对性能有要求的服务器,这是更高效的方式。
; 默认值: 100
; 开发环境的值: 1000
; 生产环境的值: 1000
; http://php.net/session.gc-divisor
session.gc_divisor = 1000

; 在这个秒值之后,session会被视为'垃圾'可能被垃圾回收进程回收。
; http://php.net/session.gc-maxlifetime
session.gc_maxlifetime = 1440

; 注意: 如果你使用了子目录选项来存储session文件(参见上面的session.save_path),
;       那么垃圾回收不会自动发生。
;       你需要通过自己的脚本,定时任务或者其他方式来自己进行垃圾回收。
;       举个例子,下面的脚本相当于将session.gc_maxlifetime设置为1440秒:
;          find /path/to/sessions -cmin +24 -type f | xargs rm

; session.referer_check 包含有用来检查每个 HTTP Referer 的子串。
; 如果客户端发送了 Referer 信息但是在其中并未找到该子串,则嵌入的会话 ID 会被标记为无效。默认为空字符串。
; http://php.net/session.referer-check
session.referer_check =

; 设置{nocache,private,public}来指定会话页面所使用的缓冲控制方法。
; 或者设置为空来避免发送anti-caching头。
; http://php.net/session.cache-limiter
session.cache_limiter = nocache

; 文档在n分钟后过期。
; http://php.net/session.cache-expire
session.cache_expire = 180

; trans sid支持默认被禁用。
; shi用trans sid可能会对你的用户安全带来风险。
; 使用这个配置需要注意下列情况。
; - 用户可能通过email/irc/etc发送包含激活的session ID给其他人。
; - 包含激活的session ID的URL可能存储在公共电脑上。
; - 用户可以使用浏览器的历史记录或者书签中存储的带有session ID的url访问你的网站。
; http://php.net/session.use-trans-sid
session.use_trans_sid = 0

; 设置session ID字符串长度。这个值可以在22到256位之间。
; 为了兼容的原因也支持更短的长度。
; 用户应该使用32位长度或者更长的字符。
; http://php.net/session.sid-length
; Default Value: 32
; Development Value: 26
; Production Value: 26
session.sid_length = 26

; URL重写器会寻找定义的HTML标签中的URL。
; <form>是比较特殊的; 如果你的脚本中包含了它们,重写器将会添加一个隐藏的<input>,
; 其中包含的信息将被添加到URL中。
; <form> 标签的 action attribute URL 除非你指定否则不会被修改。
; 注意所有合法的条目必须有一个"=",即使没有值。
; 默认值: "a=href,area=href,frame=src,form="
; 开发环境的值: "a=href,area=href,frame=src,form="
; 生产环境的值: "a=href,area=href,frame=src,form="
; http://php.net/url-rewriter.tags
session.trans_sid_tags = "a=href,area=href,frame=src,form="

; URL重写器默认不会重写绝对URL。
; 要启用绝对路径重写,目标host在运行时必须指定。
; 比如使用ini_set();
; <form>标签比较特殊。PHP会不管session.trans_sid_tags的设置
; 检查action属性的URL。
; 如果没有定义host。将会使用HTTP_HOST中的host。
; 例子: php.net,www.php.net,wiki.php.net
; 多个host使用","分隔。不允许有空格。
; 默认值: ""
; 开发环境的值: ""
; 生产环境的值: ""
;session.trans_sid_hosts=""

; 定义将二进制hash数据转换为可读的形式时每个字符需要多少位来存储。
; 可能的值:
;   4  (4 bits: 0-9, a-f)
;   5  (5 bits: 0-9, a-v)
;   6  (6 bits: 0-9, a-z, A-Z, "-", ",")
; 默认值: 4
; 开发环境的值: 5
; 生产环境的值: 5
; http://php.net/session.hash-bits-per-character
session.sid_bits_per_character = 5

; 在$_SESSION中启用上传进度跟踪。
; 默认值: On
; 开发环境的值: On
; 生产环境的值: On
; http://php.net/session.upload-progress.enabled
;session.upload_progress.enabled = On

; 在所有POST数据都可读后就清理进度信息。
; (比如上传完成).
; 默认值: On
; 开发环境的值: On
; 生产环境的值: On
; http://php.net/session.upload-progress.cleanup
;session.upload_progress.cleanup = On

; 在$_SESSION中上传进度key的前缀。
; 默认值: "upload_progress_"
; 开发环境的值: "upload_progress_"
; 生产环境的值: "upload_progress_"
; http://php.net/session.upload-progress.prefix
;session.upload_progress.prefix = "upload_progress_"

; $_SESSION中的包含上传进度信息的index
; 默认值: "PHP_SESSION_UPLOAD_PROGRESS"
; 开发环境的值: "PHP_SESSION_UPLOAD_PROGRESS"
; 生产环境的值: "PHP_SESSION_UPLOAD_PROGRESS"
; http://php.net/session.upload-progress.name
;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"

; 上传信息多久更新频率。
; 信息使用百分比(每个文件)还是字节数表示。
; 默认值: "1%"
; 开发环境: "1%"
; 生产环境: "1%"
; http://php.net/session.upload-progress.freq
;session.upload_progress.freq =  "1%"

; 两次更新之间的最小延迟,秒值。
; Default Value: 1
; Development Value: 1
; Production Value: 1
; http://php.net/session.upload-progress.min-freq
;session.upload_progress.min_freq = "1"

; 之后再session数据改变时才写入session数据。默认启用。
; http://php.net/session.lazy-write
;session.lazy_write = On

[Assertion]
; 切换是否编译断言(assertions)(运行时没有额外开销)
; -1: 完全不编译
;  0: 运行时跳过断言
;  1: 执行断言
; 只有在php.ini中才能从负值改变。(如果要在运行时设置assertions为on或者off,当zend.assertions = 1时参考assert.active)
; 默认值: 1
; 开发环境值: 1
; 生产环境的值: -1
; http://php.net/zend.assertions
zend.assertions = 1

; Assert(expr); 默认启动。
; http://php.net/assert.active
;assert.active = On

; 在断言失败时抛出AssertationException异常。
; http://php.net/assert.exception
;assert.exception = On

; 每个断言失败时产生一个PHP警告。(会被assert.exception覆盖)
; http://php.net/assert.warning
;assert.warning = On

; 是否在断言失败时终止脚本运行。
; http://php.net/assert.bail
;assert.bail = Off

; 如果断言失败会调用用户定义的函数。
; http://php.net/assert.callback
;assert.callback = 0

; 是否使用安静评估(不显示任何错误信息,相当于error_reporting=0)。
; 若关闭则在评估断言表达式的时候使用当前的error_reporting指令值。
; http://php.net/assert.quiet-eval
;assert.quiet_eval = 0

[COM]
; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
; http://php.net/com.typelib-file
;com.typelib_file =

; 允许Distributed-COM调用
; http://php.net/com.allow-dcom
;com.allow_dcom = true

; 使用com_load()时自动注册typelib组建的常量。
; http://php.net/com.autoregister-typelib
;com.autoregister_typelib = true

; 注册大小写敏感常量。
; http://php.net/com.autoregister-casesensitive
;com.autoregister_casesensitive = false

; 在重复注册常量时产生警告。
; http://php.net/com.autoregister-verbose
;com.autoregister_verbose = true

; The default character set code-page to use when passing strings to and from COM objects.
; Default: system ANSI code page
;com.code_page=

[mbstring]
; 用于内部字符表示的语言。
; 这个配置会影响mb_send_mail()和mbstring.detect_order。
; http://php.net/mbstring.language
;mbstring.language = Japanese

; 这个配置已过期,使用全局internal_encoding代替。
; 内部/脚本编码。
; 一些编码不能作为内部编码。(比如 SJIS, BIG5, ISO-2022-*)
; 如果为空将会使用default_charset或者internal_encoding或者iconv.internal_encoding。
; 优先级: default_charset < internal_encoding < iconv.internal_encoding
;mbstring.internal_encoding =

; 这个配置已经过期,使用全局input_emcoding代替。
; http输入编码。
; mbstring.encoding_traslation = On 需要使用这个设置。
; 如果为空将会使用default_charset或者input_encoding或者mbstring.input.
; 优先级: default_charset < intput_encoding < mbsting.http_input
; http://php.net/mbstring.http-input
;mbstring.http_input =

; 这个配置已经过期了。使用全局out_encoding代替。
; http输出编码.
; mb_output_handler必须作为输出缓冲区注册给函数。
; 如果为空将会使用default_charset或者output_encoding或者mbstring.http_output.
; 优先级: default_charset < output_encoding < mbstring.http_output
; 要将一个输出编码转换,必须设置mbstring的output handler
; 否则输出编码转换将无法使用。
; http://php.net/mbstring.http-output
;mbstring.http_output =

; 启用自动编码转换(根据mbstring.internal_encoding setting)
;如果这个配置设置为On,则会将输入字符转换为内部编码(internal encoding)。
; 注意: 不要再需要移植的库或者应用中使用自动编码转换。
; http://php.net/mbstring.encoding-translation
;mbstring.encoding_translation = Off

; 自动编码检测顺序。
; "自动"检测顺序依据mbstring.language变化。
; http://php.net/mbstring.detect-order
;mbstring.detect_order = auto

; substitute_character用于字符无法从一种编码转化为另一种编码时。
; http://php.net/mbstring.substitute-character
;mbstring.substitute_character = none

; 使用mbstring函数重载(替换)单字节函数。
; mail(),ereg()等函数可以被mb_send_mail(),mb_ereg()等函数重载。
; 可以设置的值有0,1,2,4或者将这些值混合。
; 举个例子设置为7代表重载所有函数。
; 0: 不重载
; 1: 重载mail()函数
; 2: 重载 str*()函数
; 4: 重载 ereg*() 函数
; http://php.net/mbstring.func-overload
;mbstring.func_overload = 0

; 启用严格编码检测。
; Default: Off
;mbstring.strict_detection = On

; 这个指令指定了需要启用mb_output_handler()的content type的正则匹配。
; 默认: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
;mbstring.http_output_conv_mimetype=

[gd]
; 告诉jpeg解码时忽略警告并且生成一个gd图片。
; 警告将会在之后作为提示显示。
; 默认禁用。
; http://php.net/gd.jpeg-ignore-warning
;gd.jpeg_ignore_warning = 1

[exif]
; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
; With mbstring support this will automatically be converted into the encoding
; given by corresponding encode setting. When empty mbstring.internal_encoding
; is used. For the decode settings you can distinguish between motorola and
; intel byte order. A decode setting cannot be empty.
; http://php.net/exif.encode-unicode
;exif.encode_unicode = ISO-8859-15

; http://php.net/exif.decode-unicode-motorola
;exif.decode_unicode_motorola = UCS-2BE

; http://php.net/exif.decode-unicode-intel
;exif.decode_unicode_intel    = UCS-2LE

; http://php.net/exif.encode-jis
;exif.encode_jis =

; http://php.net/exif.decode-jis-motorola
;exif.decode_jis_motorola = JIS

; http://php.net/exif.decode-jis-intel
;exif.decode_jis_intel    = JIS

[Tidy]
; 使用tidy时的默认配置tidy文件路径。
; http://php.net/tidy.default-config
;tidy.default_config = /usr/local/lib/php/default.tcfg

; tidy是否自动清理和修复输出?
; 警告: 如果你生成的不是html内容不要使用这个配置。
; 比如动态图片。
; http://php.net/tidy.clean-output
tidy.clean_output = Off

[soap]
; 启用或者禁用WSDL属性。
; http://php.net/soap.wsdl-cache-enabled
soap.wsdl_cache_enabled=1

; 设置SOAP拓展放置缓存文件的目录
; http://php.net/soap.wsdl-cache-dir
soap.wsdl_cache_dir="/tmp"

; 设置缓存文件替代原始文件的时间,秒值。
; http://php.net/soap.wsdl-cache-ttl
soap.wsdl_cache_ttl=86400

; s设置缓存最大值。(缓存的WSDL文件的最大数量)
soap.wsdl_cache_limit = 5

[sysvshm]
; 共享内存段的默认大小
;sysvshm.init_mem = 10000

[ldap]
; 设置打开链接的最大值,-1表示无限制。
ldap.max_links = -1

[dba]
;dba.default_handler=

[opcache]
; 决定是否启用Zend OPCache
;opcache.enable=1

; 决定对于CLI环境下PHP是否启用Zend OPCache。
;opcache.enable_cli=0

; OPcache共享内存存储大小。
;opcache.memory_consumption=128

; 字符串驻留内存区域内存总值,以兆字节为单位。
;opcache.interned_strings_buffer=8

; OPcache hash表中key的最大数量。
; 合法值在200到1000000之间。
;opcache.max_accelerated_files=10000

; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5

; 当这个指令被启用,OPcache会追加当前工作目录加入到文件key中。
; 以此来避免同文件名的文件key冲突。 
; 禁用这个指令会提高性能,但是可能会导致你的应用崩溃。
;opcache.use_cwd=1

; 当这个指令启用时,改变文件后你必须手动重启OPcache或者重启webserver才生效。
;opcache.validate_timestamps=1

; OPcache自动检查文件是否更新的周期(以秒为单位)。
; ("1"意味着每秒检查一次,但每个请求都检查,"0"表示总是检查。)
;opcache.revalidate_freq=2

; 在include_path优化中启用或者禁用文件搜索。Enables or disables file search in include_path optimization
;opcache.revalidate_path=0

; 如果禁用,所有的PHPDoc注释都会被丢掉以减少优化后的代码大小。
;opcache.save_comments=1

; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0

; 运行时控制优化的掩码。
;opcache.optimization_level=0xffffffff

;opcache.inherited_hack=1
;opcache.dups_fix=0

; OPcache黑名单文件的路径(支持正则表达式)。
; OPcache黑名单中的文件将不会被加速。
; 设置这个指令的方式是每个文件名一行。
; 文件名可以是一个完整的路径也可以只是一个前缀。
; (比如 /var/www/x将/var/www目录下的所有以x开头的文件都加入了黑名单。)
; 以分号开头的行会被忽略(注释)。
;opcache.blacklist_filename=

; 允许不缓存大文件,默认所有文件都会被缓存。
;opcache.max_file_size=0

; 每N个请求检查一下缓存的checksum。
; 默认值为0,意味着检查被禁用。
;opcache.consistency_checks=0

; 如果cache处于非active状态,N秒后重启OPcache。
;opcache.force_restart_timeout=180

; OPcache错误日志的文件名称,如果为空则使用"stderr"。
;opcache.error_log=

; 所有的OPcache错误都可以被记录到Web服务器中。
; 默认只有致命错误(level 0)和错误(level 1)被记录。
; 你可以也可以记录警告(level 2),info信息(level 3)或者调试信息(level 4)。
;opcache.log_verbosity_level=1

; OPcache首选内存模型。留空则由系统选择。
;opcache.preferred_memory_model=

; 运行脚本时防止共享内存意外写入。
; 只对内部调试有用。
;opcache.protect_memory=0

; 指定需要在调用OPcache API函数的PHP脚本。默认为""表示没有限制。
;opcache.restrict_api=

; Mapping base of shared memory segments (for Windows only). All the PHP
; processes have to map shared memory into the same address space. This
; directive allows to manually fix the "Unable to reattach to base address"
; errors.
;opcache.mmap_base=

; 启用和设置二级缓存目录。
; 当SHM内存没有空间服务器重启或者SHM重置时,这个设置有助于提高性能。
; 默认为""表示禁用基于文件的缓存。
;opcache.file_cache=

; 是否将opcode缓存到共享内存中。
;opcache.file_cache_only=0

; 在脚本从文件缓存加载时是否校验checksum。
;opcache.file_cache_consistency_checks=1

; Implies opcache.file_cache_only=1 for a certain process that failed to
; reattach to the shared memory (for Windows only). Explicitly enabled file
; cache is required.
;opcache.file_cache_fallback=1

; 是否将PHP代码(执行体)复制到HUGE PAGE中。
; 这样做会提高性能,但是必须要对操作系统进行适当的hugepage配置。
;opcache.huge_code_pages=0

; 校验缓存文件的权限。
;opcache.validate_permission=0

; Prevent name collisions in chroot'ed environment.
;opcache.validate_root=0

; 如果指定会产生opcodedump用于调试优化的不同阶段。
;opcache.opt_debug_level=0

[curl]
; CURLOPT_CAINFO的默认值,必须是绝对路径。
;curl.cainfo =

[openssl]
; 验证SSL/TLS节点身份时使用的CA的路径。
;openssl.cafile=

; 如果openssl.cafile没有指定或者CA文件无法找到,将会在openssl.capath指定的目录中
; 搜索一个合适的证书。这个值必须是一个已经被散列的证书目录。
;openssl.capath=

; Local Variables:
; tab-width: 4
; End:

 

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值