<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >php.ini 核心配置选项说明</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="php.ini 配置选项" HREF="ini.html"><LINK REL="PREVIOUS" TITLE="php.ini 配置选项" HREF="ini.html"><LINK REL="NEXT" TITLE="所支持时区列表" HREF="timezones.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="section" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="ini.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >附录 H. <TT CLASS="filename" >php.ini</TT > 配置选项</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="timezones.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ini.core" ><TT CLASS="filename" >php.ini</TT > 核心配置选项说明</A ></H1 ><P > 该列表只包含核心的 <TT CLASS="filename" >php.ini</TT > 配置选项。扩展的配置选项在各个扩展的文档页面分别被描述。有关 session 的选项可以在 <A HREF="ref.session.html" >sessions 页面</A >找到。 </P ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sect.httpd-options" >Httpd 选项</A ></H2 ><P > <DIV CLASS="table" ><A NAME="AEN293748" ></A ><P ><B >表 H-3. Httpd 选项</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >名称</TH ><TH >默认值</TH ><TH >可修改范围</TH ><TH >更新记录</TH ></TR ></THEAD ><TBODY ><TR ><TD >async_send</TD ><TD >"0"</TD ><TD >PHP_INI_ALL</TD ><TD > </TD ></TR ></TBODY ></TABLE ></DIV > </P ><P > </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sect.language-options" >语言选项</A ></H2 ><P > <DIV CLASS="table" ><A NAME="AEN293767" ></A ><P ><B >表 H-4. 语言和杂类配置选项</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >名称</TH ><TH >默认值</TH ><TH >可修改范围</TH ><TH >更新记录</TH ></TR ></THEAD ><TBODY ><TR ><TD >short_open_tag</TD ><TD >"1"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.0.0 时是 PHP_INI_ALL。</TD ></TR ><TR ><TD >asp_tags</TD ><TD >"0"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.0.0 时是 PHP_INI_ALL。</TD ></TR ><TR ><TD >precision</TD ><TD >"14"</TD ><TD >PHP_INI_ALL</TD ><TD > </TD ></TR ><TR ><TD >y2k_compliance</TD ><TD >"1"</TD ><TD >PHP_INI_ALL</TD ><TD > </TD ></TR ><TR ><TD >allow_call_time_pass_reference</TD ><TD >"1"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.0.0 时是 PHP_INI_ALL。</TD ></TR ><TR ><TD >expose_php</TD ><TD >"1"</TD ><TD >仅可在 <TT CLASS="filename" >php.ini</TT > 中配置。</TD ><TD > </TD ></TR ><TR ><TD >zend.ze1_compatibility_mode</TD ><TD >"0"</TD ><TD >PHP_INI_ALL</TD ><TD >从 PHP 5.0.0 起可用。</TD ></TR ></TBODY ></TABLE ></DIV > </P ><P >以下是配置选项的简要解释。</P ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><A NAME="ini.short-open-tag" ></A ><CODE CLASS="parameter" >short_open_tag</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 决定是否允许使用 PHP 代码开始标志的缩写形式(<KBD CLASS="userinput" ><? ?></KBD >)。如果要和 XML 结合使用 PHP,可以禁用此选项以便于嵌入使用 <KBD CLASS="userinput" ><?xml ?></KBD >。否则还可以通过 PHP 来输出,例如:<KBD CLASS="userinput" ><?php echo '<?xml version="1.0"'; ?></KBD >。如果禁用了,必须使用 PHP 代码开始标志的完整形式(<KBD CLASS="userinput" ><?php ?></KBD >)。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 本指令也会影响到缩写形式 <KBD CLASS="userinput" ><?=</KBD >,它和 <KBD CLASS="userinput" ><? echo</KBD > 等价。使用此缩写需要 <SPAN CLASS="systemitem" >short_open_tag</SPAN > 的值为 On。 </P ></BLOCKQUOTE ></DIV ></DD ><DT ><A NAME="ini.asp-tags" ></A ><CODE CLASS="parameter" >asp_tags</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 除了通常的 <?php ?> 标志之外还允许使用 ASP 风格的标志 <% %>。这也包括了输出变量值的缩写 <%= $value %>。更多信息见<A HREF="language.basic-syntax.html#language.basic-syntax.phpmode" >从 HTML 中分离</A >一节。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > ASP 风格标志的支持是 3.0.4 版新加的。 </P ></BLOCKQUOTE ></DIV ></DD ><DT ><A NAME="ini.precision" ></A ><CODE CLASS="parameter" >precision</CODE > <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A ></DT ><DD ><P > 浮点数中显示有效数字的位数。 </P ></DD ><DT ><A NAME="ini.y2k-compliance" ></A ><CODE CLASS="parameter" >y2k_compliance</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 强制 2000 年兼容(在不兼容的浏览器中会出问题)。 </P ></DD ><DT ><A NAME="ini.allow-call-time-pass-reference" ></A ><CODE CLASS="parameter" >allow_call_time_pass_reference</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 在函数调用时参数被按照引用传递时是否发出警告。此方法已不被赞成并在 PHP/Zend 未来的版本中很可能不再支持。鼓励使用的方法是在函数定义中指定哪些参数应该用引用传递。鼓励大家尝试关闭此选项并确保脚本能够正常运行,以确保该脚本也能在未来的版本中运行(每次使用此特性都会收到一条警告)。 </P ><P > 在函数调用时通过引用传递参数是不推荐的,因为它影响到了代码的整洁。如果函数的参数没有声明作为引用传递,函数可以通过未写入文档的方法修改其参数。要避免其副作用,最好仅在函数声明时指定那个参数需要通过引用传递。 </P ><P > 参见<A HREF="language.references.html" >引用的解释</A >。 </P ></DD ><DT ><A NAME="ini.expose-php" ></A ><CODE CLASS="parameter" >expose_php</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 决定是否暴露 PHP 被安装在服务器上(例如在 Web 服务器的信息头中加上其签名)。没有任何安全上的威胁,只是让客户端能够知道是否在服务器中安装了 PHP。 </P ></DD ><DT ><A NAME="ini.zend.ze1-compatibility-mode" ></A ><CODE CLASS="parameter" >zend.ze1_compatibility_mode</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 启用 Zend 引擎 1(PHP 4) 兼容模式。这影响到了对象的复制、构造(无属性的对象会产生 <TT CLASS="constant" ><B >FALSE</B ></TT > 或 0)及<A HREF="language.oop5.object-comparison.html" >比较</A >。此模式下,对象将以值传递,而不是默认的引用传递。 </P ><P > 参见<A HREF="migration5.html" >从 PHP 4 移植到 PHP 5</A >。 </P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sect.resource-limits" >资源限制</A ></H2 ><P > <DIV CLASS="table" ><A NAME="AEN293880" ></A ><P ><B >表 H-5. 资源限制</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >名称</TH ><TH >默认值</TH ><TH >可修改范围</TH ><TH >更新记录</TH ></TR ></THEAD ><TBODY ><TR ><TD >memory_limit</TD ><TD >"8M"</TD ><TD >PHP_INI_ALL</TD ><TD > </TD ></TR ></TBODY ></TABLE ></DIV > </P ><P >以下是配置选项的简要解释。</P ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><A NAME="ini.memory-limit" ></A ><CODE CLASS="parameter" >memory_limit</CODE > <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A ></DT ><DD ><P > 本指令设定了一个脚本所能够申请到的最大内存字节数。这有助于防止写得不好的脚本消耗光服务器上的可用内存。要使用此指令必须在编译的时候激活。因此 configure 一行中应该包括:<TT CLASS="literal" >--enable-memory-limit</TT >。如果不需要任何内存上的限制,必须将其设为 -1。 </P ><P > 自 4.3.2 起,当激活了 memory_limit,PHP 函数 <A HREF="function.memory-get-usage.html" ><B CLASS="function" >memory_get_usage()</B ></A > 便可以使用了。 </P ><P >当使用 <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A > 类型时,其值以字节为度量单位。还可以用简化符号,说明见此 <A HREF="faq.using.html#faq.using.shorthandbytes" >FAQ</A >。</P ></DD ></DL ></DIV > </P ><P > 参见 <A HREF="ref.info.html#ini.max-execution-time" >max_execution_time</A >。 </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sect.performance" >性能调整</A ></H2 ><P > <DIV CLASS="table" ><A NAME="AEN293915" ></A ><P ><B >表 H-6. 性能调整</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >名称</TH ><TH >默认值</TH ><TH >可修改范围</TH ><TH >更新记录</TH ></TR ></THEAD ><TBODY ><TR ><TD >realpath_cache_size</TD ><TD >"16K"</TD ><TD >PHP_INI_SYSTEM</TD ><TD >自 PHP 5.1.0 起可用。</TD ></TR ><TR ><TD >realpath_cache_ttl</TD ><TD >"120"</TD ><TD >PHP_INI_SYSTEM</TD ><TD >自 PHP 5.1.0 起可用。</TD ></TR ></TBODY ></TABLE ></DIV > </P ><P >以下是配置选项的简要解释。</P ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><A NAME="ini.realpath-cache-size" ></A ><CODE CLASS="parameter" >realpath_cache_size</CODE > <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A ></DT ><DD ><P > 决定 PHP 所使用的真实路径缓冲区的大小。此值在 PHP 会打开很多文件的系统下应增大,以反映出所执行文件操作的数量。 </P ></DD ><DT ><A NAME="ini.realpath-cache-ttl" ></A ><CODE CLASS="parameter" >realpath_cache_ttl</CODE > <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A ></DT ><DD ><P > 对给定文件或目录以秒为单位的真实路径信息缓冲的时间。对文件很少改变的系统,可以考虑增大辞职。 </P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sect.data-handling" >数据处理</A ></H2 ><P > <DIV CLASS="table" ><A NAME="AEN293953" ></A ><P ><B >表 H-7. 数据处理配置选项</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >名称</TH ><TH >默认值</TH ><TH >可修改范围</TH ><TH >更新记录</TH ></TR ></THEAD ><TBODY ><TR ><TD >track_vars</TD ><TD >"On"</TD ><TD >PHP_INI_??</TD ><TD > </TD ></TR ><TR ><TD >arg_separator.output</TD ><TD >"&"</TD ><TD >PHP_INI_ALL</TD ><TD >从 PHP 4.0.5 起可用。</TD ></TR ><TR ><TD >arg_separator.input</TD ><TD >"&"</TD ><TD >PHP_INI_PERDIR</TD ><TD >从 PHP 4.0.5 起可用。</TD ></TR ><TR ><TD >variables_order</TD ><TD >"EGPCS"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 5.0.5 时是 PHP_INI_ALL。</TD ></TR ><TR ><TD >auto_globals_jit</TD ><TD >"1"</TD ><TD >PHP_INI_PERDIR</TD ><TD >从 PHP 5.0.0 起可用。</TD ></TR ><TR ><TD >register_globals</TD ><TD >"0"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.2.3 时是 PHP_INI_ALL。</TD ></TR ><TR ><TD >register_argc_argv</TD ><TD >"1"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.2.3 时是 PHP_INI_ALL。</TD ></TR ><TR ><TD >register_long_arrays</TD ><TD >"1"</TD ><TD >PHP_INI_PERDIR</TD ><TD >从 PHP 5.0.0 起可用。</TD ></TR ><TR ><TD >post_max_size</TD ><TD >"8M"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.2.3 时是 PHP_INI_ALL。从 PHP 4.0.3 起可用。</TD ></TR ><TR ><TD >gpc_order</TD ><TD >"GPC"</TD ><TD >PHP_INI_ALL</TD ><TD > </TD ></TR ><TR ><TD >auto_prepend_file</TD ><TD >NULL</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.2.3 时是 PHP_INI_ALL。</TD ></TR ><TR ><TD >auto_append_file</TD ><TD >NULL</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.2.3 时是 PHP_INI_ALL。</TD ></TR ><TR ><TD >default_mimetype</TD ><TD >"text/html"</TD ><TD >PHP_INI_ALL</TD ><TD > </TD ></TR ><TR ><TD >default_charset</TD ><TD >""</TD ><TD >PHP_INI_ALL</TD ><TD > </TD ></TR ><TR ><TD >always_populate_raw_post_data</TD ><TD >"0"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.2.3 时是 PHP_INI_ALL。从 PHP 4.1.0 起可用。</TD ></TR ><TR ><TD >allow_webdav_methods</TD ><TD >"0"</TD ><TD >PHP_INI_PERDIR</TD ><TD > </TD ></TR ></TBODY ></TABLE ></DIV > </P ><P >以下是配置选项的简要解释。</P ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><A NAME="ini.track-vars" ></A ><CODE CLASS="parameter" >track_vars</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 如果激活,则环境变量,GET,POST,Cookie 和 Server 变量都能够分别在全局关联数组中找到:<CODE CLASS="varname" >$_ENV</CODE >,<CODE CLASS="varname" >$_GET</CODE >,<CODE CLASS="varname" >$_POST</CODE >,<CODE CLASS="varname" >$_COOKIE</CODE > 和 <CODE CLASS="varname" >$_SERVER</CODE >。 </P ><P > 注意自 PHP 4.0.3 起,<SPAN CLASS="systemitem" >track_vars</SPAN > 总是打开的。 </P ></DD ><DT ><A NAME="ini.arg-separator.output" ></A ><CODE CLASS="parameter" >arg_separator.output</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > PHP 所产生的 URL 中来分隔参数的分隔符。 </P ></DD ><DT ><A NAME="ini.arg-separator.input" ></A ><CODE CLASS="parameter" >arg_separator.input</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > PHP 用来将 URL 解析为变量的分隔符列表。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 本指令中的每个字符都会被当成分隔符! </P ></BLOCKQUOTE ></DIV ></DD ><DT ><A NAME="ini.variables-order" ></A ><CODE CLASS="parameter" >variables_order</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 设定 EGPCS(Environment,GET,POST,Cookie,Server)变量解析的顺序。默认设定为“EGPCS”。举例说,将其设为“GP”,会导致 PHP 完全忽略环境变量,cookies 和 server 变量,并用 GET 方法的变量覆盖 POST 方法的同名变量。 </P ><P > 参见 <A HREF="ini.core.html#ini.register-globals" >register_globals</A >。 </P ></DD ><DT ><A NAME="ini.auto-globals-jit" ></A ><CODE CLASS="parameter" >auto_globals_jit</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 启用后,SERVER 和 ENV 变量在他们第一次使用后 (Just In Time) 便被创建,而不是等到脚本开始运行时。如果这些变量没有在脚本总使用,启用这个变量会提高服务器性能。 </P ><P > 要使此选项有效,PHP 配置选项 <A HREF="ini.core.html#ini.register-globals" >register_globals</A >, <A HREF="ini.core.html#ini.register-long-arrays" >register_long_arrays</A >, 和 <A HREF="ini.core.html#ini.register-argc-argv" >register_argc_argv</A > 必须禁用。 </P ></DD ><DT ><A NAME="ini.register-globals" ></A ><CODE CLASS="parameter" >register_globals</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量。 </P ><P > PHP <A HREF="http://www.php.net/releases/4_2_0.php" TARGET="_top" >4.2.0</A > 开始,本选项默认为 <SPAN CLASS="emphasis" ><I CLASS="emphasis" >off</I ></SPAN >。 </P ><P > 相关信息请阅读安全一章中的<A HREF="security.globals.html" >使用 register_globals</A >。 </P ><P > 请注意 <SPAN CLASS="systemitem" >register_globals</SPAN > 不能在运行时设定(<A HREF="function.ini-set.html" ><B CLASS="function" >ini_set()</B ></A >),尽管如以上说明在主机允许时可以用 <TT CLASS="filename" >.htaccess</TT >。一个 <TT CLASS="filename" >.htaccess</TT > 项目的例子:<KBD CLASS="userinput" >php_flag register_globals off</KBD >。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > <SPAN CLASS="systemitem" >register_globals</SPAN > 受 <A HREF="ini.core.html#ini.variables-order" >variables_order</A > 选项的影响。 </P ></BLOCKQUOTE ></DIV ></DD ><DT ><A NAME="ini.register-argc-argv" ></A ><CODE CLASS="parameter" >register_argc_argv</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 决定 PHP 是否定义 argv & argc 变量(可能包含有 GET 信息)。 </P ><P > 参见<A HREF="features.commandline.html" >命令行方式</A >。此外,本选项自 PHP 4.0.0 起可用,在此之前总是“On”。 </P ></DD ><DT ><A NAME="ini.register-long-arrays" ></A ><CODE CLASS="parameter" >register_long_arrays</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 设定 PHP 是否注册已过时的 <CODE CLASS="varname" >$HTTP_*_VARS</CODE > 之类的<A HREF="language.variables.predefined.html" >预定义变量</A >。如果为 On(默认值),则类似 <CODE CLASS="varname" >$HTTP_GET_VARS</CODE > 的 PHP 变量会被注册。如果不使用,为性能考虑建议关闭此选项,而使用超全局数组例如 <CODE CLASS="varname" >$_GET</CODE > 替代之。 </P ><P > 本指令自 PHP 5.0.0 起可用。 </P ></DD ><DT ><A NAME="ini.post-max-size" ></A ><CODE CLASS="parameter" >post_max_size</CODE > <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A ></DT ><DD ><P > 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 <A HREF="ini.core.html#ini.upload-max-filesize" >upload_max_filesize</A >。 </P ><P > 如果配置脚本中激活了内存限制,<A HREF="ini.core.html#ini.memory-limit" >memory_limit</A > 也会影响文件上传。通常说,<A HREF="ini.core.html#ini.memory-limit" >memory_limit</A > 应该比 <CODE CLASS="parameter" >post_max_size</CODE > 要大。 </P ><P >当使用 <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A > 类型时,其值以字节为度量单位。还可以用简化符号,说明见此 <A HREF="faq.using.html#faq.using.shorthandbytes" >FAQ</A >。</P ><P > 如果 POST 数据尺寸大于 post_max_size <CODE CLASS="varname" >$_POST</CODE > 和 <CODE CLASS="varname" >$_FILES</CODE > <A HREF="language.variables.predefined.html#language.variables.superglobals" >superglobals</A > 便会为空。这可以以多种方式证明,例如,传递 <CODE CLASS="varname" >$_GET</CODE > 变量到脚本以处理数据, 也就是 <TT CLASS="literal" ><form action="edit.php?processed=1"></TT >, 然后查看 <CODE CLASS="varname" >$_GET['processed']</CODE > 是否被设置。 </P ></DD ><DT ><A NAME="ini.gpc-order" ></A ><CODE CLASS="parameter" >gpc_order</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 设定 GET/POST/COOKIE 变量解析的顺序,默认为“GPC”。举例说,将其设为“GP”,会导致 PHP 完全忽略 cookie 变量,并用 GET 方法的变量覆盖 POST 方法的同名变量。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 本选项不能用于 PHP 4。用 <A HREF="ini.core.html#ini.variables-order" >variables_order</A > 替代之。 </P ></BLOCKQUOTE ></DIV ></DD ><DT ><A NAME="ini.auto-prepend-file" ></A ><CODE CLASS="parameter" >auto_prepend_file</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 指定在主文件之前自动解析的文件名。该文件就像调用了 <A HREF="function.include.html" ><B CLASS="function" >include()</B ></A > 函数一样被包含进来,因此会使用 <A HREF="ini.core.html#ini.include-path" >include_path</A >。 </P ><P > 特殊值 <SPAN CLASS="systemitem" >none</SPAN > 禁止了自动前缀。 </P ></DD ><DT ><A NAME="ini.auto-append-file" ></A ><CODE CLASS="parameter" >auto_append_file</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 指定在主文件之后自动解析的文件名。该文件就像调用了 <A HREF="function.include.html" ><B CLASS="function" >include()</B ></A > 函数一样被包含进来,因此会使用 <A HREF="ini.core.html#ini.include-path" >include_path</A >。 </P ><P > 特殊值 <SPAN CLASS="systemitem" >none</SPAN > 禁止了自动后缀。 <DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 如果脚本通过 <A HREF="function.exit.html" ><B CLASS="function" >exit()</B ></A > 终止,则自动后缀<SPAN CLASS="emphasis" ><I CLASS="emphasis" >不会</I ></SPAN >发生。 </P ></BLOCKQUOTE ></DIV > </P ></DD ><DT ><A NAME="ini.default-mimetype" ></A ><CODE CLASS="parameter" >default_mimetype</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > </P ></DD ><DT ><A NAME="ini.default-charset" ></A ><CODE CLASS="parameter" >default_charset</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 自 4.0b4 起,PHP 总是默认在 HTTP 信息头 Content-type: 中输出字符编码。要禁止发送字符集,将本选项设为空即可。 </P ></DD ><DT ><A NAME="ini.always-populate-raw-post-data" ></A ><CODE CLASS="parameter" >always_populate_raw_post_data</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 总是产生 <CODE CLASS="varname" >$HTTP_RAW_POST_DATA</CODE > 变量包含有原始的 POST 数据。否则,此变量仅在碰到未识别 MIME 类型的数据时产生。不过,访问原始 POST 数据的更好方法是 <A HREF="wrappers.php.html" >php://input</A >。<CODE CLASS="varname" >$HTTP_RAW_POST_DATA</CODE > 对于 <TT CLASS="literal" >enctype="multipart/form-data"</TT > 表单数据不可用。 </P ></DD ><DT ><A NAME="ini.allow-webdav-methods" ></A ><CODE CLASS="parameter" >allow_webdav_methods</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 允许在 PHP 脚本中处理 WebDAV 的 HTTP 请求(例如 PROPFIND,PROPPATCH,MOVE,COPY 等)。此选项在 PHP 4.3.2 以后便不存在了。如果要取得这些请求的 POST 数据,也要设定 <A HREF="ini.core.html#ini.always-populate-raw-post-data" >always_populate_raw_post_data</A >。 </P ></DD ></DL ></DIV > </P ><P > 参见 <A HREF="ref.info.html#ini.magic-quotes-gpc" >magic_quotes_gpc</A >,<A HREF="ref.info.html#ini.magic-quotes-runtime" >magic-quotes-runtime</A > 和 <A HREF="ref.sybase.html#ini.magic-quotes-sybase" >magic_quotes_sybase</A >。 </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sect.path-directory" >路径和目录</A ></H2 ><P > <DIV CLASS="table" ><A NAME="AEN294221" ></A ><P ><B >表 H-8. 路径和目录配置选项</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >名称</TH ><TH >默认值</TH ><TH >可修改范围</TH ><TH >更新记录</TH ></TR ></THEAD ><TBODY ><TR ><TD >include_path</TD ><TD >".;/path/to/php/pear"</TD ><TD >PHP_INI_ALL</TD ><TD > </TD ></TR ><TR ><TD >doc_root</TD ><TD >NULL</TD ><TD >PHP_INI_SYSTEM</TD ><TD > </TD ></TR ><TR ><TD >user_dir</TD ><TD >NULL</TD ><TD >PHP_INI_SYSTEM</TD ><TD > </TD ></TR ><TR ><TD >extension_dir</TD ><TD >"/path/to/php"</TD ><TD >PHP_INI_SYSTEM</TD ><TD > </TD ></TR ><TR ><TD >extension</TD ><TD >NULL</TD ><TD >仅限于 <TT CLASS="filename" >php.ini</TT ></TD ><TD > </TD ></TR ><TR ><TD >cgi.fix_pathinfo</TD ><TD >"1"</TD ><TD >PHP_INI_ALL</TD ><TD >从 PHP 4.3.0 起可用</TD ></TR ><TR ><TD >cgi.force_redirect</TD ><TD >"1"</TD ><TD >PHP_INI_ALL</TD ><TD >从 PHP 4.2.0 起可用</TD ></TR ><TR ><TD >cgi.redirect_status_env</TD ><TD >NULL</TD ><TD >PHP_INI_ALL</TD ><TD >从 PHP 4.2.0 起可用</TD ></TR ><TR ><TD >fastcgi.impersonate</TD ><TD >"0"</TD ><TD >PHP_INI_ALL</TD ><TD >从 PHP 4.3.0 起可用</TD ></TR ><TR ><TD >cgi.rfc2616_headers</TD ><TD >"0"</TD ><TD >PHP_INI_ALL</TD ><TD >从 PHP 4.3.0 起可用</TD ></TR ></TBODY ></TABLE ></DIV > </P ><P >以下是配置选项的简要解释。</P ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><A NAME="ini.include-path" ></A ><CODE CLASS="parameter" >include_path</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 指定一组目录用于 <A HREF="function.require.html" ><B CLASS="function" >require()</B ></A >,<A HREF="function.include.html" ><B CLASS="function" >include()</B ></A > 和 <B CLASS="function" >fopen_with_path()</B > 函数来寻找文件。格式和系统的 <CODE CLASS="envar" >PATH</CODE > 环境变量类似:一组目录的列表,在 UNIX 下用冒号分隔,在 Windows 下用分号分隔。 </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN294296" ></A ><P ><B >例 H-1. Unix include_path</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="php.ini" >include_path=".:/php/includes"</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN294300" ></A ><P ><B >例 H-2. Windows include_path</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="php.ini" >include_path=".;c:\php\includes"</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > 在包含路径中使用 <TT CLASS="literal" >.</TT > 可以允许相对路径,它代表当前目录。 </P ></DD ><DT ><A NAME="ini.doc-root" ></A ><CODE CLASS="parameter" >doc_root</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > PHP 在服务器上的根目录。仅在非空时使用。如果 PHP 被配置为<A HREF="features.safe-mode.html#ini.safe-mode" >安全模式</A >,则此目录之外的文件一概不被解析。如果 PHP 编译时没有指定 FORCE_REDIRECT,并且在任何 web 服务器(除了 IIS)中以 CGI 方式运行 PHP,则应该设定 doc_root。替代方案是使用下面的 <A HREF="ini.core.html#ini.cgi.force-redirect" >cgi.force_redirect</A > 配置选项。 </P ></DD ><DT ><A NAME="ini.user-dir" ></A ><CODE CLASS="parameter" >user_dir</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 在用户目录之下使用 <TT CLASS="literal" >PHP</TT > 文件的基本目录名,例如 <TT CLASS="literal" >public_html</TT >。 </P ></DD ><DT ><A NAME="ini.extension-dir" ></A ><CODE CLASS="parameter" >extension_dir</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > PHP 用来寻找动态连接扩展库的目录。参见 <A HREF="ref.info.html#ini.enable-dl" >enable_dl</A > 和 <A HREF="function.dl.html" ><B CLASS="function" >dl()</B ></A >。 </P ></DD ><DT ><A NAME="ini.extension" ></A ><CODE CLASS="parameter" >extension</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 当 PHP 启动时所加载的动态连接扩展库。 </P ></DD ><DT ><A NAME="ini.cgi.fix-pathinfo" ></A ><CODE CLASS="parameter" >cgi.fix_pathinfo</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 对 CGI 提供了<SPAN CLASS="emphasis" ><I CLASS="emphasis" >真正的</I ></SPAN > PATH_INFO/PATH_TRANSLATED 支持。以前 PHP 的行为是将 PATH_TRANSLATED 设为 SCRIPT_FILENAME,而不管 PATH_INFO 是什么。有关 PATH_INFO 的更多信息见 cgi 规格。将此值设为 1 将使 PHP CGI 修正其路径以遵守规格。设为 0 将使 PHP 的行为和从前一样。默认为零。用户应该修正其脚本使用 SCRIPT_FILENAME 而不是 PATH_TRANSLATED。 </P ></DD ><DT ><A NAME="ini.cgi.force-redirect" ></A ><CODE CLASS="parameter" >cgi.force_redirect</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 在大多数 web 服务器中以 CGI 方式运行 PHP 时很有必要用 cgi.force_redirect 提供安全。PHP 默认其为 On。可以将其关闭,但<SPAN CLASS="emphasis" ><I CLASS="emphasis" >风险自担</I ></SPAN >。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > Windows 用户:可以安全地在 IIS 之下将其关闭,事实上必须这么做。要在 OmniHTTPD 或 Xitami 之下使用也必须将其关闭。 </P ></BLOCKQUOTE ></DIV ></DD ><DT ><A NAME="ini.cgi.redirect-status-env" ></A ><CODE CLASS="parameter" >cgi.redirect_status_env</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 如果打开了 cgi.force_redirect,并且不是在 Apache 或 Netscape(iPlanet)web 服务器之下运行,可能需要设定一个环境变量名,PHP 将去寻找它来知道可以继续执行下去。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 设定此变量可能会导致安全问题,首先要知道自己在做什么。 </P ></BLOCKQUOTE ></DIV ></DD ><DT ><A NAME="ini.fastcgi.impersonate" ></A ><CODE CLASS="parameter" >fastcgi.impersonate</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > IIS(在基于 WINNT 的操作系统上)中的 FastCGI 支持模仿客户端安全令牌的能力。这使得 IIS 能够定义运行时所基于的请求的安全上下文。Apache 中的 mod_fastcgi 不支持此特性(03/17/2002)。如果在 IIS 中运行则设为 1。默认为 0。 </P ></DD ><DT ><A NAME="ini.cgi.rfc2616-headers" ></A ><CODE CLASS="parameter" >cgi.rfc2616_headers</CODE > <A HREF="language.types.integer.html" ><B CLASS="type" >int</B ></A ></DT ><DD ><P > 指定 PHP 在发送 HTTP 响应代码时使用何种报头。如果设定为 0,PHP 发送一个 Status: 报头,Apache 和其它 web server 都支持。如果此选项设定为 1,PHP 将发送 <A HREF="http://www.faqs.org/rfcs/rfc2616" TARGET="_top" >RFC 2616</A > 兼容的报头。除非你知道自己在做什么,否则保留其值为 0。 </P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sect.file-uploads" >文件上传</A ></H2 ><P > <DIV CLASS="table" ><A NAME="AEN294375" ></A ><P ><B >表 H-9. 文件上传配置选项</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >名称</TH ><TH >默认值</TH ><TH >可修改范围</TH ><TH >更新记录</TH ></TR ></THEAD ><TBODY ><TR ><TD >file_uploads</TD ><TD >"1"</TD ><TD >PHP_INI_SYSTEM</TD ><TD >在 PHP <= 4.2.3 时是 PHP_INI_ALL。从 PHP 4.0.3 起可用。</TD ></TR ><TR ><TD >upload_tmp_dir</TD ><TD >NULL</TD ><TD >PHP_INI_SYSTEM</TD ><TD > </TD ></TR ><TR ><TD >upload_max_filesize</TD ><TD >"2M"</TD ><TD >PHP_INI_PERDIR</TD ><TD >在 PHP <= 4.2.3 时是 PHP_INI_ALL。</TD ></TR ></TBODY ></TABLE ></DIV > </P ><P >以下是配置选项的简要解释。</P ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><A NAME="ini.file-uploads" ></A ><CODE CLASS="parameter" >file_uploads</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 是否允许 HTTP <A HREF="features.file-upload.html" >文件上传</A >。参见 <A HREF="ini.core.html#ini.upload-max-filesize" >upload_max_filesize</A >,<A HREF="ini.core.html#ini.upload-tmp-dir" >upload_tmp_dir</A > 和 <A HREF="ini.core.html#ini.post-max-size" >post_max_size</A > 指令。 </P ><P >当使用 <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A > 类型时,其值以字节为度量单位。还可以用简化符号,说明见此 <A HREF="faq.using.html#faq.using.shorthandbytes" >FAQ</A >。</P ></DD ><DT ><A NAME="ini.upload-tmp-dir" ></A ><CODE CLASS="parameter" >upload_tmp_dir</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 文件上传时存放文件的临时目录。必须是 <TT CLASS="literal" >PHP</TT > 进程所有者用户可写的目录。如果未指定则 PHP 使用系统默认值。 </P ></DD ><DT ><A NAME="ini.upload-max-filesize" ></A ><CODE CLASS="parameter" >upload_max_filesize</CODE > <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A ></DT ><DD ><P > 所上传的文件的最大大小。 </P ><P >当使用 <A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A > 类型时,其值以字节为度量单位。还可以用简化符号,说明见此 <A HREF="faq.using.html#faq.using.shorthandbytes" >FAQ</A >。</P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sql-general" >普通 SQL</A ></H2 ><P > <DIV CLASS="table" ><A NAME="AEN294435" ></A ><P ><B >表 H-10. 普通 SQL 配置选项</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >名称</TH ><TH >默认值</TH ><TH >可修改范围</TH ><TH >更新记录</TH ></TR ></THEAD ><TBODY ><TR ><TD >sql.safe_mode</TD ><TD >"0"</TD ><TD >PHP_INI_SYSTEM</TD ><TD > </TD ></TR ></TBODY ></TABLE ></DIV > </P ><P >以下是配置选项的简要解释。</P ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><A NAME="ini.sql.safe-mode" ></A ><CODE CLASS="parameter" >sql.safe_mode</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > </P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="section" ><H2 CLASS="section" ><A NAME="ini.sect.debugger" >调试器配置选项</A ></H2 ><DIV CLASS="caution" ><P ></P ><TABLE CLASS="caution" BORDER="1" WIDTH="100%" ><TR ><TD ALIGN="CENTER" ><B >小心</B ></TD ></TR ><TR ><TD ALIGN="LEFT" ><P > 仅 PHP 3 实现了一个默认的调试器。更多信息请参考<A HREF="debugger.html" >附录 F</A >。 </P ></TD ></TR ></TABLE ></DIV ><P ></P ><DIV CLASS="variablelist" ><DL ><DT ><A NAME="ini.debugger.host" ></A ><CODE CLASS="parameter" >debugger.host</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 调试器所使用的主机的 DNS 名或 IP 地址。 </P ></DD ><DT ><A NAME="ini.debugger.port" ></A ><CODE CLASS="parameter" >debugger.port</CODE > <A HREF="language.types.string.html" ><B CLASS="type" >string</B ></A ></DT ><DD ><P > 调试器所用的端口号。 </P ></DD ><DT ><A NAME="ini.debugger.enabled" ></A ><CODE CLASS="parameter" >debugger.enabled</CODE > <A HREF="language.types.boolean.html" ><B CLASS="type" >boolean</B ></A ></DT ><DD ><P > 是否启用调试器。 </P ></DD ></DL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="ini.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="timezones.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><TT CLASS="filename" >php.ini</TT > 配置选项</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ini.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >所支持时区列表</TD ></TR ></TABLE ></DIV ></BODY ></HTML >