关闭

php.ini配置文件详解(mac nginx1.8.0 php5.6 )持续更新中

标签: php
1487人阅读 评论(0) 收藏 举报
分类:

软硬件环境 mac ox10.11 nginx1.8.0 php5.6

不了解的部分

;;;;;;;;;;;;;;;;;;;;
; php.ini Options  ;
;;;;;;;;;;;;;;;;;;;;

; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
;user_ini.filename = ".user.ini"

; To disable this feature set this option to empty value
;user_ini.filename =

; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 
; 300 seconds (5 minutes)
;user_ini.cache_ttl = 300

语言设置 很好理解的部分

;;;;;;;;;;;;;;;;;;;;
; Language Options ;
;;;;;;;;;;;;;;;;;;;;

; http://php.net/engine
; 仅在将PHP作为Apache模块时此项才有效
; 使PHP脚本语言引擎在Apache下有效
; 可以在httpd.conf中基于目录或者虚拟主机来打开或者关闭PHP解析引擎。
engine = On

; http://php.net/short-open-tag
; 开启对短标签的支持<? ?>,我自己设置的开启状态:On开启 Off关闭
short_open_tag = On

; http://php.net/asp-tags
; 对asp风格标签的支持<% %> off关闭 On开启
asp_tags = Off

; http://php.net/precision
; 浮点型数据显示的有效位数
; eg. echo 5/3 它会输出多少位的浮点数呢?这一项控制了它的输出位数
; 如果设置为3则结果为1.67,默认为14,结果为1.6666666666667
precision = 14

这一组只用过第一项 后三项参考文章 http://www.jb51.net/article/35514.htm

; http://php.net/output-buffering
output_buffering = 4096

; http://php.net/output-handler
; 你可以将所有脚本输出重定向到一个输出处理函数。
; 比如,重定向到"mb_output_handler"函数时,字符编码将被透明地转换为指定的编码。
; 一旦你在这里指定了输出处理程序,"output_buffering"将被自动打开。
; 注意1: 在编写可移植脚本的时候不能依赖这个指令,而应明确的调用ob_start()函数打开输出缓存。
; 使用这个指令可能会导致某些你不熟悉的脚本出错。
; 注意2: 你不能同时使用"mb_output_handler""ob_iconv_handler"
; 你也不能同时使用"ob_gzhandler""zlib.output_compression"
; 注意3: 如果启用了zlib输出压缩,"output_handler"必须为空,取而代之,
; 必须启用"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

; http://php.net/zlib.output-handler
;zlib.output_handler =
; 这个指令告诉PHP输出层在每个输出块之后自动刷新自身数据。默认为 FALSE
; 这等效于在每个print()、echo()、HTML块之后自动调用flush()函数。
; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。
; 在CLI SAPI的执行模式下,该标记默认为 TRUE 。
implicit_flush = Off

没用过

; 如果解序列化程序需要实例化一个未定义类,该这里指定的回调函数将以该未定义类的名字作为参数被调用,
; 以免得到不完整的"__PHP_Incomplete_Class"对象。
; 如果这里没有指定函数,或者指定的函数不包含(或实现)那个未定义的类,将会显示一条警告信息。
; 只有在你真想执行这样一个回调函数的情况下,才需要指定该参数的值。
; 可以通过 php.ini、ini_set() 或 .htaccess 定义"unserialize_callback_func"。
; 若要禁止这个特性,只需置空此设定。
unserialize_callback_func =

; 将浮点型和双精度型数据序列化存储时,序列化精度指明了有效位数。
; 默认值能够确保浮点型数据被解序列化程序解码时不会有数据丢失。
serialize_precision = 17

; 将PHP允许打开的所有文件都限制在此目录下。无论安全模式是否打开,该参数都将起作用。
; 如果web服务器使用了per-directory或虚拟主机,这个参数将非常有意义。
; 当一个脚本试图用例如fopen()或者gzopen()打开一个指定目录树之外的文件时,将遭到拒绝。
; 所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。
; 特殊值'.'指定了存放该脚本的目录将被当做基准目录。
; 在Windows中,用分号分隔目录。在任何其它系统中用冒号分隔目录。
; 作为Apache模块时,父目录中的open_basedir路径将自动被继承。
; 用open_basedir指定的限制实际上是前缀,不是目录名。也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls"
; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线,例如:"/dir/incl/"
; 默认是允许打开所有文件。
; http://php.net/open-basedir
;open_basedir =

可以试一试 不知道有没有作用

; 这个指令让你可以出于安全原因禁用特定的函数。它接受一个用逗号分隔的函数名列表。
; 无论安全模式是否打开,该参数都将起作用。
; 本指令只能设置在php.ini中。例如你不能将其设置在httpd.conf中
; http://php.net/disable-functions
disable_functions =

; 这个指令让你可以出于安全原因禁用特定的类。它接受一个用逗号分隔的类名列表。
; 无论安全模式是否打开,该指令都将起作用。本指令自 PHP 4.3.2 起可用。
; 本指令只能设置在php.ini中。例如你不能将其设置在httpd.conf中
; 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

; 默认值为FALSE。如果设置为TRUE在客户端断开连接后,脚本不会被中止。
; http://php.net/ignore-user-abort
;ignore_user_abort = On

SYS 激活循环引用收集器 可以看看有关内核的

; SYS 指定PHP使用的realpath(规范化的绝对路径名)缓冲区大小。
; 在PHP打开大量文件的系统上应当增大该值以提高性能。
; http://php.net/realpath-cache-size
;realpath_cache_size = 16k

; SYS realpath缓冲区中信息的有效期(秒)。
; 对文件很少变动的系统,可以增大该值以提高性能。
; http://php.net/realpath-cache-ttl
;realpath_cache_ttl = 120

; 设置 zend.enable_gc 为 1, 激活循环引用收集器
; http://blog.csdn.net/phpkernel/article/details/5734743
; http://php.net/zend.enable-gc
zend.enable_gc = On

有关字符的一些设置 不太清楚 有资料地址

; 从PHP5.3开始, PHP引入了Zend Multibyte来支持多字符集编码
; http://www.laruence.com/2011/11/18/2305.html
; If enabled, scripts may be written in encodings that are incompatible with
; the scanner.  CP936, Big5, CP949 and Shift_JIS are the examples of such
; encodings.  To use this feature, mbstring extension must be enabled.
; Default: Off
;zend.multibyte = Off

; Allows to set the default encoding for the scripts.  This value will be used
; unless "declare(encoding=...)" directive appears at the top of the script.
; Only affects if zend.multibyte is set.
; Default: ""
;zend.script_encoding =

我知道这些 杂项

;;;;;;;;;;;;;;;;;
; Miscellaneous ;
;;;;;;;;;;;;;;;;;

; 是否暴露PHP被安装在服务器上的事实(在http头中加上其签名)。
; 它不会有安全上的直接威胁,但它使得客户端知道服务器上安装了PHP。
; http://php.net/expose-php
expose_php = On

我知道这些 资源限制 一部分进行了实践 (摘抄了官方文档 接下来的部分将继续摘抄整合全部解释以达到理解上的最大化)

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
; 资源限制        ;
;;;;;;;;;;;;;;;;;;;

; 这设置了脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。 从命令行运行 PHP 时,默认设置为 0。
; 最大执行时间不会影响系统调用和系统操作等。更多细节参见 set_time_limit()。
; 在安全模式下你不能通过 ini_set() 来修改此设置。 唯一的解决方法是关闭安全模式或者在 php.ini 中修改时间限制。
; 你的 web 服务器也可以有其他超时设置,也有可能中断 PHP 的执行。 Apache 有一个 Timeout 指令,IIS 有一个 CGI 超时功能。 他们默认都是 300 秒。更多具体信息参见你的 web 服务器的文档。
; 注: "max_execution_time"仅影响脚本本身的运行时间。
; 任何其它花费在脚本运行之外的时间,如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。
;
; 以下循环脚本在 mac 16内存 i7 ssd 硬件环境下执行时间是22s,如果执行时间设置为10 则会报如下错误 
; Fatal error: Maximum execution time of 10 seconds exceeded in /usr/local/var/www/local.test.com/php.ini/max_execution_time.php on line 8 报错提示还是挺明显的
;
; echo time()."<br />";
; for($i=0;$i<1000000000;$i++){}
; echo "<br />";
; echo time()."<br />";
;
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

; 每个脚本接收输入数据的最大允许时间(POST, GET, upload), 按秒计
; 脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。 它从接收所有数据到开始执行脚本进行测量的。
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60

; 设置输入变量的嵌套深度 (例如 $_GET,$_POST……)
; max_input_nesting_level = 1  时 ?a[a]=1可以接收      ?a[a][a]=1不可以接收
; max_input_nesting_level = 2  时 ?a[a][a]=1可以接收   ?a[a][a][a]=1不可以接收
; 很明显,指令限制了get数据的 数组纬度
; http://php.net/max-input-nesting-level
;max_input_nesting_level = 64

; How many GET/POST/COOKIE input variables may be accepted
; 接受多少 输入的变量(限制分别应用于 $_GET、$_POST 和 $_COOKIE 超全局变量) 指令的使用减轻了以哈希碰撞来进行拒绝服务攻击的可能性。 如有超过指令指定数量的输入变量,将会导致 E_WARNING 的产生, 更多的输入变量将会从请求中截断。
; 如果限制为1但get时参数为两个则会报错
; Warning: Unknown: Input variables exceeded 1. To increase the limit change max_input_vars in php.ini. in Unknown on line 0
; max_input_vars = 1000

; 设定一个脚本所能够申请到的最大内存字节数。
; 这有助于防止劣质脚本消耗完服务器上的所有内存。
; 要使用此指令必须在编译的时候激活。
; 因此 configure 一行中应该包括:--enable-memory-limit
; 如果不需要任何内存上的限制,必须将其设为 -1
; 自php4.3.2 起,当设置了memory_limit后,memory_get_usage()函数将变为可用
; http://php.net/memory-limit
memory_limit = 128M

我知道这些 出错处理和日志

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
; 出错处理和日志                ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; 设置错误报告的级别。该参数可以是一个任意的表示二进制位字段的整数,或者常数名称。错误级别和常数是在 预定义常量定义的
; 在程序运行时,还可以通过 error_reporting() 函数进行设置。请查看 display_errors 了解详情
; Note: 在开发阶段启用 E_NOTICE 会有一些好处。出于调试的目的:通知信息会对代码中可能出现的bug给出警告。例如,使用未预先分配和定义的值,就会给出警告。它对于查找拼写错误非常有用,并且可以节省调试的时间。通知信息也会警告你使用更好的代码风格。例如,$arr[item] 最好写成 $arr['item'] ,因为 PHP 会试图将 "item" 当成一个常量。如果它不是一个常量,PHP才会把它当做数组的字符串索引。
; Note: 在PHP 5之中,提供了一个新的错误级别 E_STRICT。 因为 E_STRICT 并不包含在 E_ALL 之中,你必须明确启用才能显示这个类别的错误信息。在开发阶段启用 E_STRICT 会有一些好处。严格的信息将帮助你使用最新和最好的建议的方法来编写代码,例如它会警告你使用了将被废弃的函数。
; Note: 在 PHP 以外使用PHP的常量是没有意义的,例如在 httpd.conf 之中, 你需要使用常量对应的 integer 值来取代。因为随着时间的推移和PHP的发展,会有更多的错误级别将被添加,因此错误级别的最大值(为 E_ALL)可能会改变 。因此在使用 E_ALL 对应整数值的地方,应该考虑使用较大的数值来涵盖当前和将来需要使用的二进制位字段,例如数值 2147483647 (将包含所有错误,而不仅仅是 E_ALL).
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting = E_ALL

; 该选项设置是否将错误信息作为输出的一部分显示到屏幕,或者对用户隐藏而不显示。
; 在最终发布的web站点上,强烈建议你关掉这个特性,并使用错误日志代替(参看下面)。
; 在最终发布的web站点打开这个特性可能暴露一些安全信息,
; 例如你的web服务上的文件路径、数据库规划或别的信息。
; 设置 "stderr" 表示发送到 stderr 而不是 stdout。 "stderr"从 PHP 5.2.4 开始可用。在以前的版本中,该配置值的类型为 boolean.
; Note: 这是一个辅助开发的功能,建议永远不要在生产系统中使用 (例如系统被连接到互联网对外提供服务)。
; Note: 尽管 display_errors 也可以在运行时设置 (使用 ini_set()), 但是脚本出现致命错误时任何运行时的设置都是无效的。 因为在这种情况下预期运行的操作不会被执行。
; http://php.net/display-errors
display_errors = On

; 即使 display_errors 设置为开启, PHP 启动过程中的错误信息也不会被显示。强烈建议除了调试目的以外,将 display_startup_errors 设置为关闭。
; http://php.net/display-startup-errors
display_startup_errors = On

; 设置是否将脚本运行的错误信息记录到服务器错误日志或者error_log之中。注意,这是与服务器相关的特定配置项。
; Note: 在生产系统中,强烈建议你使用错误日志记录web站点上显示的错误信息。
; http://php.net/log-errors
log_errors = On

; 设置 log_errors 的最大字节数. 在 error_log 会添加有关错误源的信息。默认值为1024,如果设置为0表示不限长度。该长度设置对记录的错误,显示的错误,以及 $php_errormsg都会有限制作用。
; Note: 并不是对日志文件大小的限制 而是对每一次msg信息的的大小限制
; http://php.net/log-errors-max-len
log_errors_max_len = 1024

; 接下来的两个是配合使用的
; 对于
; echo $a;echo $a; //code 1
; 和
; echo $a;
; echo $a;
; 这两段代码
; 默认值状态 均会提示两次并记录两次变量未定义
; ignore_repeated_errors = On ignore_repeated_source = Off 时code 1记录一次 code 2 仍然记录两次 因为code 2两次报错属于不同的行,即不同的源
; ignore_repeated_errors = On ignore_repeated_source = On 时code 1记录一次 code 2 记录一次 这次即使源不同因为抱错相同所以也只记录一次
; 测试时并没有发现不同文件的相同报错只记录一次的情况
;
; 不记录重复的信息。重复的错误必须出现在同一个文件中的同一行代码上,除非 ignore_repeated_source 设置为true。
; http://php.net/ignore-repeated-errors
ignore_repeated_errors = Off

; 忽略重复消息时,也忽略消息的来源。当该设置开启时,重复信息将不会记录它是由不同的文件还是不同的源代码行产生的。
; http://php.net/ignore-repeated-source
ignore_repeated_source = Off

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

; 尚无说明文档
; This setting is on by default.
;report_zend_debug = 0

; 保存最近一个错误/警告消息于变量$php_errormsg (boolean)中. off 什么也不保存
; Default Value: Off
; Development Value: On
; Production Value: Off
; http://php.net/track-errors
track_errors = On

没实践 不知道用途和意义

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

; 用作 XML-RPC faultCode 元素的值。
;xmlrpc_error_number = 0

试了一下 原来如此 有些部分然并卵

; 在错误信息中关闭HTML标签。这种新的HTML格式的错误信息是可以点击,它引导用户前往描述该错误或者导致该错误发生的函数的参考信息页面。 这些参考与 docref_root 和 docref_ext 的设置有关。
; 注意: 不要在发布的程序中使用这个特性。
; Note: This directive is hardcoded to Off for the CLI SAPI
; Default Value: On
; Development Value: On
; Production value: On
; http://php.net/html-errors
html_errors = On

; 如果打开了html_errors参数,PHP将会在出错信息上显示超连接,
; 直接链接到一个说明这个错误或者导致这个错误的函数的页面。
; 你可以从http://www.php.net/docs.php下载php手册,并设置docref_root参数,将他指向你本地的手册所在目录。
; 你还必须设置"docref_ext"来指定文件的扩展名。
; 注意: 不要在发布的程序中使用这个特性。
; 以下是测试
; ini_set('html_errors', 1); 
; ini_set('docref_root', '/phpmanual/');
; ini_set('docref_ext', '.html');
; explode($delimiter, $string);
;
; Warning: explode() [function.explode.html]:   你会看到这个[function.explode.html]会是一个超级链接 链接到 root 和 ext 和 函数名组成的一个地址上 /phpmanual/function.explode.html
; 如果想要展示链接 仅设置前两项即可 除非你不喜欢扩展名
;
; docref_root = "/phpmanual/"
; docref_ext = .html

; 用于错误信息前输出的字符串
; http://php.net/error-prepend-string
; Example:
;error_prepend_string = "<span style='color: #ff0000'>"

; 用于错误信息后输出的字符串
; http://php.net/error-append-string
; Example:
;error_append_string = "</span>"

将错误日志记录到哪个文件中。
; 如果设为"syslog", 错误日志将被记录到系统日志中(NT下的事件日志, Unix下的syslog(3))
; http://php.net/error-log
; Example:
error_log = /usr/local/var/log/php/php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog

没有说明文档

;windows.show_crt_warning
; Default value: 0
; Development value: 0
; Production value: 0
; 启用时此指令显示 Windows CRT 警告。到目前为止这些警告都是默认显示的。(这一句是抄来的 没懂)

数据处理

;;;;;;;;;;;;;;;;;
; Data Handling ; 数据处理
;;;;;;;;;;;;;;;;;

; PHP所产生的URL中来分隔参数的分隔符。默认值是"&"
; http://php.net/arg-separator.output
; Example:
;arg_separator.output = "&amp;"

; PHP解析URL中的变量时使用的分隔符列表,默认值是"&"
; 注意: 字符串中的任何字符都将被看着分割符
; http://php.net/arg-separator.input
; Example:
;arg_separator.input = ";&"

; 该设置描述PHP解析变量顺序,包括$_GET,$_POST,$_COOKIE,$_ENV ,$_SERVER 数组,
; 解析顺序从左到右,后解析新值覆盖旧值。默认设定为EGPCS(Environment,GET,POST,Cookie,Server)。
; 如果将其设为“GP”,会导致 PHP 完全忽略环境变量,cookies 和 server 变量,并用 POST 方法的变量覆盖 GET 方法的同名变量。
; Development Value: "GPCS"
; Production Value: "GPCS";
; http://php.net/variables-order
variables_order = "GPCS"

这个不是特别明白

; $_REQUEST这个超全局变量的值受php.ini中request_order的影响,在最新的php5.3.x系列中,request_order默认值为GP,也就是说默认配置下$_REQUEST只包含$_GET$_POST而不包括$_COOKIE。通过 COOKIE就可以提交GLOBALS变量。
; 从而绕过了大多开源程序中的全局变量防御。因此要将次选项更改为 request_order = "CGP"
; http://php.net/request-order
request_order = "GP"

这样啊

; 是否声明 argv和argc 变量(其中包含用GET方法传来的数据)
; 【argv为变量数组,argc为变量数组中元素个数】
; 若你不想使用这两个变量,应当关掉它以提高性能。
; Note: This directive is hardcoded to On for the CLI SAPI
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/register-argc-argv
register_argc_argv = Off

; 开启auto_globals_jit = On情况下,$_SERVER变量和$_ENV变量不会在脚本启动时就创建,而是会在第一次使用$SERVER和$ENV时才会创建。
; http://php.net/auto-globals-jit
auto_globals_jit = On

; 禁用时,POST (包括FILE)数据不能读取(和处理)。(还有这样的配置) 
; http://php.net/enable-post-data-reading
;enable_post_data_reading = Off

; PHP接受的POST数据最大长度。此设定也影响到文件上传。
; 要上传大文件,该值必须大于"upload_max_filesize"
; 如果配置脚本中激活了内存限制,"memory_limit"也会影响文件上传。
; 一般说来,"memory_limit"应该比"post_max_size"要大。
; http://php.net/post-max-size
post_max_size = 8M

; 指定在主文件之前自动解析的文件名。
; 该文件就像调用了include()函数一样被包含进来,因此会使用"include_path"
; http://php.net/auto-prepend-file
; http://www.jb51.net/article/55468.htm
auto_prepend_file =

; 指定在主文件之后自动解析的文件名。
; 该文件就像调用了include()函数一样被包含进来,因此会使用"include_path"
; 注: 如果脚本通过 exit() 终止,则自动后缀不会发生。;
; http://www.jb51.net/article/55468.htm
auto_append_file =


; http://php.net/default-mimetype
default_mimetype = "text/html"
; http://php.net/default-charset
default_charset = "UTF-8"
; PHP总是默认地在"Content-type:"头中设置输出文档的MIME类型和字符集的编码方式。
; 要让输出字符集失效,只要设置为空或注释掉即可。
; PHP的默认设置会输出"Content-Type: text/html"
; 若去掉"default_charset"前的注释并将其设为"gb2312",
; 那么将会输出"Content-Type: text/html; charset=gb2312"

不懂


; PHP internal character encoding is set to empty.
; If empty, default_charset is used.
; http://php.net/internal-encoding
;internal_encoding =

; PHP input character encoding is set to empty.
; If empty, default_charset is used.
; http://php.net/input-encoding
;input_encoding =

; PHP output character encoding is set to empty.
; If empty, default_charset is used.
; mbstring or iconv output handler is used.
; See also output_buffer.
; http://php.net/output-encoding
;output_encoding =

了解

; 使用 always_populate_raw_post_data 会导致在填充 $HTTP_RAW_POST_DATA 时产生 E_DEPRECATED 
; 错误。 请使用 php://input 替代 $HTTP_RAW_POST_DATA, 因为它可能在后续的 PHP 版本中被移除。 
; 设置 always_populate_raw_post_data 为 -1 (这样会强制 $HTTP_RAW_POST_DATA 未定义,所以也
; 不会导致 E_DEPRECATED 的错误) 来体验新的行为。 
; 找到一篇关于php输入流的文章 、
; http://www.nowamagic.net/academy/detail/12220520
; http://php.net/always-populate-raw-post-data
;always_populate_raw_post_data = -1

路径和目录

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; include_path用来设置include()或require()函数包含文件的参考路径.
; 也就是说当使用include()或require()函数包含文件的时候,程序首先以
; include_path设置的路径作为参考点去找文件,如果找不到,则以程序自身所
; 在的路径为参考点去找所要的文件,如果都找不到,则出错.
; 当include_path设置了多个参考路径(每个路径用分号隔开)时,排在前面的路径优先找
; 文章参考: http://www.cnblogs.com/wanyakun/archive/2010/12/13/1904480.html
;
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"
; http://php.net/include-path

看了解释还是感觉很抽象

; php 页面的根路径,仅在非空时有效
; 如果 PHP 被配置为安全模式,则此目录之外的文件一概不被解析。如果 PHP 编译时没有指定 FORCE_REDIRECT
; 并且在任何 web 服务器(除了 IIS)中以 CGI 方式运行 PHP,则应该设定 doc_root。替代方案是使用下面的
; cgi.force_redirect 配置选项。
; 可能相关的说明 http://php.net/manual/zh/security.cgi-bin.doc-root.php
;
; http://php.net/doc-root
doc_root =

; 告知 php 在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效 
; http://php.net/user-dir
user_dir =

这部分很清楚

; 存放可加载的扩充库(模块)的目录 
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"

; 临时文件存放的目录(在没指定时使用系统默认的)(see sys_get_temp_dir)
; sys_temp_dir = "/tmp"

; 该指令仅对 Apache 模块版本的 PHP 有效。 你可以针对每个虚拟机或每个目录开启或关闭 dl() 动态加载 PHP 模块。
; 关闭动态加载的主要原因是为了安全。通过动态加载,有可能忽略所有 open_basedir 限制。 默认允许动态加载,除了使用 安全模式。在 安全模式,总是无法使用 dl()。 
; dl() — 运行时载入一个 PHP 扩展
; http://php.net/enable-dl
enable_dl = Off

感觉很难没有看 不想看 以后再说

; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers.  Left undefined, PHP turns this on by default.  You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off for IIS, in fact, you MUST.**
; http://php.net/cgi.force-redirect
;cgi.force_redirect = 1

; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
; every request. PHP's default behavior is to disable this feature.
;cgi.nph = 1

; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
; will look for to know it is OK to continue execution.  Setting this variable MAY
; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
; http://php.net/cgi.redirect-status-env
;cgi.redirect_status_env =

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
;cgi.fix_pathinfo=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

; Disable logging through FastCGI connection. PHP's default behavior is to enable
; this feature.
;fastcgi.logging = 0

; cgi.rfc2616_headers configuration option tells PHP what type of headers to
; use when sending HTTP response code. If set to 0, PHP sends Status: header that
; is supported by Apache. When this option is set to 1, PHP will send
; RFC2616 compliant header.
; Default is zero.
; http://php.net/cgi.rfc2616-headers
;cgi.rfc2616_headers = 0

文件上传设置

;;;;;;;;;;;;;;;;
; File Uploads ; 文件上传设置
;;;;;;;;;;;;;;;;

; 是否允许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

; 一次request中可以上传的文件最大个数
max_file_uploads = 20

文件封装器

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

; 本选项激活了 URL 形式的 fopen 封装协议使得可以访问 URL 对象例如文件。
; 默认的封装协议提供用 ftp 和 http 协议来访问远程文件,一些扩展库例如 zlib 可能会注册更多的封装协议。 
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
; http://php.net/manual/zh/filesystem.configuration.php
;
; http://php.net/allow-url-fopen
allow_url_fopen = On

; 是否允许include/require 打开url形式的文件默认关闭,它的开启需要allow_url_fopen的支持
; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-include
allow_url_include = Off

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

; php 远程请求资源时用于伪装user_agent的设置 例如fopen file_get_contents 默认为空
; http://bbs.csdn.net/topics/340101230 
;
; http://php.net/user-agent
;user_agent="PHP"

; 设置socket流的超时参数,即socket流从建立到传输再到关闭整个过程
; 必须要在这个参数设置的时间以内完成,如果不能完成,那么PHP将自动结束这个socket并返回一个警告。
; 类似的一个PHP配置是connection_timeout,不过connection_timeout是指保持连接的时间超时,
; 不包括创建和销毁连接。
; http://blog.163.com/jianshitianxia_ao/blog/static/1765693842012820104635304/
; http://php.net/default-socket-timeout
default_socket_timeout = 60

; 当设为 On 时,PHP 将检查通过 fgets() 和 file() 取得的数据中的行结束符号是符合 Unix,MS-DOS,
; 还是 Macintosh 的习惯。
; 这使得 PHP 可以和 Macintosh 系统交互操作,但是默认值是 Off,因为在检测第一行的 EOL 习惯时会有很小的
; 性能损失,而且在 Unix 系统下使用回车符号作为项目分隔符的人们会遭遇向下不兼容的行为。 
; http://php.net/auto-detect-line-endings
;auto_detect_line_endings = Off
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ; 动态扩展
;;;;;;;;;;;;;;;;;;;;;;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; ... or with a path:
;
;   extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
;
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll

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

;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10824次
    • 积分:296
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条
    文章分类