PHP.ini配置文件(中文)

网络整理 - 08-05

   很实用,大家可以收藏

;;;;;;;;;;;

  ; 警告 ;

  ;;;;;;;;;;;

  ; 此配置文件是对于新安装的PHP的默认设置.

  ; 默认情况下,PHP使用此配置文件安装

  ; 此配置针对开发目的,并且*不是*针对生产环境

  ; 基于一些安全方面的考虑,在你的网站上线之前,请考虑使用php.ini-recommended

  ; 以及在线文档

  ;;;;;;;;;;;;;;;;;;;

  ; 关于 php.ini ;

  ;;;;;;;;;;;;;;;;;;;

  ; 此文件控制了PHP行为的很多方面. 为了让PHP能够读取它

  ; 必须命名为 'php.ini'. PHP 在其当前工作目录,由PHPRC环境变量指定目录

  ; 以及由编译时指定的目录(按此顺序)查找此文件

  ; 在Windows环境下, 编译时目录是Windows目录.

  ; 在命令行模式下查找php.ini的目录可以被-c参数覆盖.

  ;

  ; 此文件的语法非常简单.

  ; 空行和由分号开始的行会被忽略(你可能已经猜到了).

  ; 段的开头(例如 [Foo]) 同样会被悄悄忽略

  ; 即使在将来他们可能会有其他作用.

  ;

  ; 使用以下语法来设定指令:

  ; directive = value

  ; 指令 = 值

  ; 指令名称是 *大小写敏感* - foo=bar 和 FOO=bar 是不同的.

  ;

  ; 值可以是字符串,数值,PHP常量 (例如 E_ALL 和 M_PI),

  ; INI 常量 (On, Off, True, False, Yes, No 和 None) 或者一个表达式

  ; (例如 E_ALL & ~E_NOTICE), 或者带引号的字串 ("foo").

  ;

  ; 在INI文件中的表达式只能使用逻辑运算和圆括号:

  ; | 逻辑或

  ; & 逻辑与

  ; ~ 逻辑非

  ; ! 取反

  ;

  ; 逻辑标志可以使用1,On,True或者Yes来打开.

  ; 也可以使用0, Off, False 或者 No来关闭.

  ;

  ; 在等号后面不写任何内容代表了一个空字符串

  ; 或者使用 None 关键词:

  ;

  ; foo = ; 将foo设置成一个空字串

  ; foo = none ; 将foo设置成一个空字串

  ; foo = "none" ; 将foo设置成字串 'none'

  ;

  ; 如果你在值中使用了常量, 并且这个常量属于一个动态加载的扩展模块

  ; (不论是PHP扩展还是Zend扩展),

  ; 那你只能在加载这些扩展 *之后* 使用这些常量.

  ;

  ;

  ;;;;;;;;;;;;;;;;;;;

  ; 关于这个文件 ;

  ;;;;;;;;;;;;;;;;;;;

  ; 在php.ini-dist 文件中所有的值都相当于内建的默认值

  ; (就是如果没有使用php.ini, 或者如果你删除了这些行,

  ; 就和内建的默认值一样).

  ;;;;;;;;;;;;;;;;;;;;

  ; 语言选项 ;

  ;;;;;;;;;;;;;;;;;;;;

  ; 打开在Apache下的PHP脚本语言引擎

  engine = On

  ; 打开Zend Engine兼容模式(PHP 4.x)

  zend.ze1_compatibility_mode = Off

  ; 允许 标签被认为是PHP脚本.

  ; 注意: 尽可能避免在开发可重新发布的程序或者库的时候使用简略标签,或者在不受你控制的服务器下发布,

  ; 因为简略标签可能不被目标服务器支持.为了可移植性, 可重新发布的代码, 请不要使用简略标签

  short_open_tag = On

  ; 使用ASP风格 <% %>标签.

  asp_tags = Off

  ; 浮点数中数值的有效位数(浮点数精度).

  precision = 12

  ; 强制2000年兼容 (可能引起不兼容浏览器的问题)

  y2k_compliance = On

  ; 输出缓冲允许在你发送了body内容之后发送header(包括 cookies)

  ; 代价是稍稍减缓了PHP输出层

  ; 你可以在运行时调用 output buffering 函数来打开此功能

  ; 你也可以将此指令设置为On来对所有文件打开输出缓冲

  ; 如果你想将这个缓冲区限制到特定大小 - 你可以使用最大的字节数来代替'On',来作为这个指令的参数 (例如 output_buffering=4096).

  output_buffering = Off

  ; 你可以将所有你脚本输出的内容重定向到指定函数.

  ; 例如, 如果你设置 output_handler 到 "mb_output_handler",

  ; 字符编码会被转换成为指定的编码..

  ; 设置任何的输出处理句柄会自动打开输出缓冲.

  ; 注意: 如果想编写可移植脚本就不要依赖此INI配置

  ; 取而代之的是, 明确的使用 ob_start() 来设置输出处理句柄.

  ; 使用此ini指令可能引起问题,除非你很清楚的理解脚本正在做什么.

  ; 注意: 你不能同时使用 "mb_output_handler" 和 "ob_iconv_handler"

  ; 并且你不能同时使用 "ob_gzhandler" 和 "zlib.output_compression".

  ; 注意: 如果使用zlib.output_handler指令开启zlib输出压缩, 该指令必须为空.

  ;output_handler =

  ; 使用zlib库对输出进行压缩

  ; 对此选项的有效值是 'off', 'on', 或者字节数 (用来压缩的缓冲大小 , 默认是 4KB)

  ; 注意: 结果的chunk大小可能由于压缩对象的大小而不同.

  ; PHP输出块的大小一般压缩之后每个大小时几百个字节.

  ; 如果你希望藉由一个大块的堆大小来获取更好的性能, 需要额外的打开 output_buffering 选项.

  ; 注意: 你必须使用 zlib.output_handler 来替代标准的

  ; output_handler, 否则输出可能会有问题.

  zlib.output_compression = Off

  ;zlib.output_compression_level = -1

  ; 这里激活 zlib.output_compression 之后,你无法再指定额外的输出处理.

  ; 这个设置和 output_handler 一样,但是处理顺序不同.

  ;zlib.output_handler =

  ; 立即刷新告知 PHP 让输出层在每次输出块之后立刻自动刷新.

  ; 这和每次调用print()或者echo()函数以及任何一种HTML块后调用flush()一样.

  ; 打开此选项会严重导致性能下降,一般只有用于调试情况下才建议打开.

  implicit_flush = Off

  ; 如果反序列器找到一个可以作为示例的未定义类.未序列化的回调函数会被调用(使用未定义的类名作为参数),

  ; 如果特定的函数未被定义或者如果此函数没有包含/实现丢失的类,则会发生一个警告.

  ; 如果只有你真想要实现类似的回调函数,才设定此入口.

  unserialize_callback_func=

  ; 当浮点和双精度被序列化后,浮点号后由 serialize_precision 指定存储精确度的有效位数.

  ; 默认值是当浮点数被反序列解码后,数值仍旧相同.

  serialize_precision = 100

  ; 是否打开强制通过引用传递参数给函数

  ; 此方法被反对并且很有可能在未来版本的PHP/Zend中不再被支持.

  ; 被孤立的指定的方法是参数应该在函数被声明的时候按照引用传入.

  ; 你被鼓励来尝试上述方法并关闭此选项来确保你脚本在今后的新版本中仍旧可以正常工作 ( 每次你使用此特性的时候会受到一个警告

  ; 并且参数会传值而不是传引用).

  allow_call_time_pass_reference = On

  ;

  ; 安全模式

  ;

  safe_mode = Off

  ; 默认情况下,安全模式在打开文件时,使用UID来比对检测.

  ; 如果你只想使用GID做宽松的比对,

  ; 打开 safe_mode_gid.

  safe_mode_gid = Off

  ; 当 safe_mode 被打开, 此目录下包含的文件和子文件夹的UID/GID 检测会被绕过.

  ; (目录必须在 include_path 中存在或者必须在包含时使用全路径)

  safe_mode_include_dir =

  ; 当 safe_mode 被打开, 只有在 safe_mode_exec_dir 中定义的可执行文件能够通过exec函数组打开执行.

  safe_mode_exec_dir =

  ; 设定某些的环境变量可能成为潜在的安全隐患.

  ; 此指令包含一个逗号分隔的前导列表.

  ; 在安全模式中, 用户可能只能改变符合这里所给出前导字符的变量.

  ; 默认情况下,用户只能改变以PHP_开头的变量(例如. PHP_FOO=BAR).

  ;

  ; 注意: 如果此指令为空, PHP会允许用户修改任何环境变量!

  safe_mode_allowed_env_vars = PHP_

  ; 此指令包含了一个用逗号分隔的环境变量列表, 用户无法通过 putenv() 函数来修改列表中的环境变量.

  ; 这些变量即便已经在 safe_mode_allowed_env_vars 所设定的列表中,也会被被保护不允许修改.

  safe_mode_protected_env_vars = LD_LIBRARY_PATH

  ; 如果设置了open_basedir, 将会限制文件操作只能是此指令下的目录和子目录.

  ; 此指令对于每目录或者每虚拟主机配置文件最有意义. 此指令* 不会 *受安全模式开或者关的影响.

  ;open_basedir =

  ; 此指令允许你为了安全原因关闭指定的函数.

  ; 它接受以逗号分隔的函数名的列表.

  ; 此指令* 不会 *受安全模式开或者关的影响.

  disable_functions =

  ; 此指令允许你由于安全原因关闭指定的类.

  ; 它接受以逗号分隔的类名的列表.

  ; 此指令* 不会 *受安全模式开或者关的影响.

  disable_classes =

  ; 语法高亮模式的色彩. 任何在 中可接受的值都可以使用.

  ;highlight.string = #DD0000

  ;highlight.comment = #FF9900

  ;highlight.keyword = #007700

  ;highlight.bg = #FFFFFF

  ;highlight.default = #0000BB

  ;highlight.html = #000000

  ; 如果打开, 即便用户放弃了的请求也会被执行完成.

  ; 在执行可能被用户打断或者浏览器超时所中断的请求时打开此选项.

  ; ignore_user_abort = On

  ; 指定PHP使用的实际路径的缓冲. 对于PHP打开很多文件来处理很多文件操作的系统上,应该增加此值.

  ; realpath_cache_size=16k

  ; 对于给定文件或者目录的缓冲真实路径信息的缓冲保留秒数. 对于很少修改文件的系统可以考虑增加此值.

  ; realpath_cache_ttl=120

  ;

  ; 其他

  ;

  ; 考虑到PHP可能被其所安装的服务器上暴露的事实(例如. 被web服务器作为头部信息的签名).

  ; 任何情况下这虽然不是安全威胁, 仍有可能暴露在你的服务器上是否正在使用PHP.

  expose_php = On

  ;;;;;;;;;;;;;;;;;;;

  ; 资源限制 ;

  ;;;;;;;;;;;;;;;;;;;

  ; 每个脚本最大执行秒数

  max_execution_time = 30

  ; 每个脚本用来分析请求数据的最大时间

  max_input_time = 60

  ; 最大输入变量的嵌套级别

  ;max_input_nesting_level = 64

  ; 每个脚本能够使用的最大内存数量 (128MB)

  memory_limit = 128M

  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  ; 错误处理和记录 ;

  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  ; 错误报告时一个位. 对每一个数值取或可以得到最终的报告级别

  ; E_ALL - 所有错误和警告 (不包含 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 - 编译时警告 (非致命)

  ; E_USER_ERROR - 用户产生的错误信息

  ; E_USER_WARNING - 用户产生的警告信息

  ; E_USER_NOTICE - 用户产生的提示信息

  ;

  ;例子:

  ;

  ; - 显示所有错误, 除了提示以及代码标准警告以外

  ;

  ;error_reporting = E_ALL & ~E_NOTICE

  ;

  ; - 显示所有错误,除了提示以外

  ;

  ;error_reporting = E_ALL & ~E_NOTICE | E_STRICT

  ;

  ; - 只显示错误

  ;

  ;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

  ;

  ; - 显示出了提示以及代码标准警告之外的错误

  ;

  error_reporting = E_ALL & ~E_NOTICE

  ; 打印输出错误 (作为输出的一部分). 对于生产环境的网站来说,

  ; 强烈建议你关闭此选项, 使用错误日志来替代 (详情参考下面内容).

  ; 在一个生产环境下的web站点打开display_errors可能泄漏安全信息给最终用户, 例如web服务器的文件路径,你数据库的结构或者其他信息.

  ;

  ; display_errors可用的值:

  ;

  ; Off - 不显示任何错误信息

  ; stderr - 将错误信息输出到STDERR (只有 CGI/CLI 格式下有效!)

  ;

  ;display_errors = "stderr"

  ;

  ; stdout (On) - 输出错误信息到STDOUT上

  ;

  display_errors = On

  ; 即使 display_errors 打开后,PHP启动序列中发生的错误也不会显示.

  ; 强烈建议你保持 display_startup_errors 关闭状态, 除非在排错

  display_startup_errors = Off

  ; 将错误输入到日志文件 (服务器指定的log,stderr或者error_log (以下指定))

  ; 和上面提到的一样, 强烈建议你在生产环境的web站点下使用错误日志来代替错误显示.

  log_errors = Off

  ; 设定log_errors的最大长度. 在 error_log 关于源的信息也计算在内.

  ; 默认是1024, 设置为0可以不限制任何最大长度.

  log_errors_max_len = 1024

  ; 不要记录重复的信息.必须出现在同样文件的相同行之中的才被认为是重复信息,除非 ignore_repeated_source 被设为 true.

  ignore_repeated_errors = Off

  ; 当忽略重复消息时忽略消息的来源. 当此设置打开后,不再记录来自不同文件或者不同行的相同消息.

  ignore_repeated_source = Off

  ; 如果此选项被设置为 Off, 那么内存泄漏不会被显示 (不论在stdout还是在日志中).

  ; 此项仅在debug编译模式下有效, 并且错误报告需要包含 E_WARNING

  report_memleaks = On

  ;report_zend_debug = 0

  ; 在$php_errormsg中保存最后一次错误/警告消息 (逻辑值).

  track_errors = Off

  ; 关闭在错误信息中所包含的HTML标签.

  ; 注意: 永远不要再生产环境中使用此特性.

  ;html_errors = Off

  ; 如果html_errors 设置为On, 则PHP产生可点击的错误信息,点击后会跳转到描述此错误或者引起此错误的函数具体信息的页面.

  ; 你可以从 下载一份PHP手册的副本

  ; 并且将 docref_root指向你放置本地拷贝的以'http://www.cuoxin.com/'开头的.

  ; 你同时必须指定文件文件的包含点的扩展名.

  ; 注意: 永远不要再生产环境中使用此特性.

  ;docref_root = "/phpmanual/"

  ;docref_ext = .html

  ; 在输出的错误信息前加上的字符串.

  ;error_prepend_string = ""

  ;error_append_string = ""

  ; 将错误记录到指定文件.

  ;error_log = filename

  ; 将错误记录到 syslog (NT系统上的Event Log在Windows 95下不可用).

  ;error_log = syslog

  ;;;;;;;;;;;;;;;;;

  ; 文件处理 ;

  ;;;;;;;;;;;;;;;;;

  ;

  ; 注意 - track_vars 在PHP 4.0.3 中总是打开的

  ; 在PHP产生的URL中用来分隔参数的符号.

  ; 默认是 "&".

  ;arg_separator.output = "&"

  ; PHP用来将URL分割输入到变量中的分隔符.

  ; 默认是 "&".

  ; 注意: 所有包含在指令内的字符都会被认为是分隔符!

  ;arg_separator.input = ";&"

  ; 此指令描述了PHP注册GET, POST, Cookie, 环境 和 内置变量的顺序 (各自使用G, P, C, E 和 S , 一般使用 EGPCS 或 GPC). 注册使用从左往右的顺序, 新的值会覆盖旧的值.

  variables_order = "EGPCS"

  ; 是否将EGPCS变量注册成为全局变量.

  ; 如果你不希望由于用户数据而导致你脚本的全局变量变得凌乱,你需要关闭此选项

  ; 这个一般随着 track_vars 打开 - 在这种情况下你能够通过$HTTP_*_VARS[]存取所有的GPC变量.

  ;

  ; 你应该努力写好脚本这样就不必打开register_globals

  ; 如果代码不是经过详细的斟酌,那将变量作为全局使用可能很容易导致潜在的安全漏洞.

  register_globals = Off

  ; 是否注册老形式的输入数组, HTTP_GET_VARS 和相关数组

  ; 如果你不使用他们,建议为了提高性能关闭他们.

  register_long_arrays = On

  ; 此指令让PHP确认是否申明 argv&argc 变量 (这些变量会包含GET信息).

  ; 如果你不使用这些变量,为了提升性能应该关闭此选项.

  register_argc_argv = On

  ; 当打开此项, SERVER 和 ENV 变量将在第一次被使用时而不是脚本一开始时创建(运行时)

  ; 如果这些变量在脚本中没有被使用过, 打开此项会增加一点性能.

  ; 为了使此指令有效,PHP指令 register_globals, register_long_arrays,

  ; 以及 register_argc_argv 必须被关闭.

  auto_globals_jit = On

  ; PHP可以接受的最大的POST数据大小.

  post_max_size = 8M

  ; Magic quotes

  ;

  ; 针对GET/POST/Cookie数据打开Magic quotes.

  magic_quotes_gpc = On

  ; 针对实时产生的数据打开Magic quotes, 例如从SQL获取的数据, 从exec()返回的数据等等.

  magic_quotes_runtime = Off

  ; 使用 Sybase 风格的 magic quotes (使用"来引导'替代\').

  magic_quotes_sybase = Off

  ; 在任何PHP文档之前或之后自动增加文件.

  auto_prepend_file =

  auto_append_file =

  ; 和 4.0b4一样, PHP 总是使用默认在头 Content-type: 的编码输出字符.

  ; 将其设置为空可以禁用发送字符集.

  ;

  ; PHP内建默认为text/html

  default_mimetype = "text/html"

  ;default_charset = "iso-8859-1"

  ; 总是填充 $HTTP_RAW_POST_DATA 变量.

  ;always_populate_raw_post_data = On

  ;;;;;;;;;;;;;;;;;;;;;;;;;

  ; 路径和目录 ;

  ;;;;;;;;;;;;;;;;;;;;;;;;;

  ; UNIX: "/path1:/path2"

  ;include_path = ".:/php/includes"

  ;

  ; Windows: "\path1;\path2"

  ;include_path = ".;c:\php\includes"

  ; PHP页面的根路径, 只有非空时有效.

  ; 如果PHP没有使用FORCE_REDIRECT来编译, 如果你将php作为CGI运行在任何web服务器下(除了IIS)的话,你必须设置doc_root

  ; 针对安全问题查看文档. 一种替代方案是使用下面的cgi.force_redirect

  doc_root =

  ; PHP使用/~username打开脚本的目录,非空时才有效.

  user_dir =

  ; 可加载的扩展(模块)的目录位置.

  extension_dir = "./"

  ; 是否启用 dl() 函数. dl() 函数无法正常的在多线程服务下运行, 例如IIS或者Zeus, 并在在这些服务软件下会自动禁用.

  enable_dl = On

  ; 在绝大多数web服务器下,cgi.force_redirect 对于提供安全执行PHP作为CGI来说是很有必要的.

  ; 没有配置的情况下,PHP会默认打开此项.

  ; 你可以在这里关闭此项并且自己承担风险

  ; **你可以在IIS安全的关闭此项,事实上,你必须关闭此项.**

  ; cgi.force_redirect = 1

  ; 如果 cgi.nph 被打开,就会强制CGI在每个请求时发送Status: 200.

  ; cgi.nph = 1

  ; 如果cgi.force_redirect被打开,并且你没有在Apache或者Netscape(iPlanet) web服务器下运行,

  ; 你也许需要设置一个环境变量名让PHP来查找让其可以获取后继续执行. 设置此变量可能引起安全问题, 在设置之前请先了解可能引起的后果.

  ; cgi.redirect_status_env = ;

  ; cgi.fix_pathinfo 为CGI提供 *真实* PATH_INFO/PATH_TRANSLATED 支持.

  ; PHP的预处理行为是设置 PATH_TRANSLATED 到 SCRIPT_FILENAME, 并且不去猜测 PATH_INFO 是什么.

  ; 想获取关于 PATH_INFO 更多的信息, 查看 cgi 规范.

  ; 将此值设置为1会引起PHP CGI修正它的路径来符合规范.

  ; 设置为0会引起PHP类似前面的行为. 默认是1. 你应该修正你的脚本来使用 SCRIPT_FILENAME 而不是 PATH_TRANSLATED.

  ; cgi.fix_pathinfo=0

  ; 在IIS下的FastCGI (在基于 WINNT 的操作系统下) 支持莫让呼叫客户端的安全令牌的能力.

  ; 这使得IIS能够定义其下运行的安全上下文.

  ; 在Apache下的mod_fastcgi 目前不支持此特性 (03/17/2002)

  ; 如果运行在IIS下设置为1. 默认是0.

  ; fastcgi.impersonate = 1;

  ; 关闭通过 FastCGI 连接的日志

  ; fastcgi.logging = 0

  ; cgi.rfc2616_headers 配置选项告知 PHP 当发送HTTP响应代码时使用什么类型的头

  ; 如果设置为0,PHP发送被Apache支持的 Status: 头信息.

  ; 在输出的错误信息之后加上的字符串.