<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >运行时配置</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="安装与配置" HREF="install.html"><LINK REL="PREVIOUS" TITLE="错误报告" HREF="install.problems.bugs.html"><LINK REL="NEXT" TITLE="怎样修改配置设定" HREF="configuration.changes.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="chapter" 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="install.problems.bugs.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="configuration.changes.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="chapter" ><H1 ><A NAME="configuration" >章 9. 运行时配置</A ></H1 ><DIV CLASS="TOC" ><DL ><DT ><B >目录</B ></DT ><DT ><A HREF="configuration.html#configuration.file" >配置文件</A ></DT ><DT ><A HREF="configuration.changes.html" >怎样修改配置设定</A ></DT ></DL ></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="configuration.file" >配置文件</A ></H1 ><P > 配置文件(PHP 3 中是 <TT CLASS="filename" >php3.ini</TT >,自 PHP 4 起是 <TT CLASS="filename" >php.ini</TT >)在 PHP 启动时被读取。对于服务器模块版本的 PHP,仅在 web 服务器启动时读取一次。对于 <ACRONYM CLASS="acronym" >CGI</ACRONYM > 和 <ACRONYM CLASS="acronym" >CLI</ACRONYM > 版本,每次调用都会读取。 </P ><P > <TT CLASS="filename" >php.ini</TT > 的搜索路径如下(按顺序): <P ></P ><UL ><LI ><P > SAPI 模块所指定的位置(Apache 2 中的 <TT CLASS="literal" >PHPIniDir</TT > 指令,CGI 和 CLI 中的 <TT CLASS="literal" >-c</TT > 命令行选项,NSAPI 中的 <TT CLASS="literal" >php_ini</TT > 参数,THTTPD 中的 <TT CLASS="literal" >PHP_INI_PATH</TT > 环境变量) </P ></LI ><LI ><P > <TT CLASS="literal" >HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath</TT >(Windows 注册表位置) </P ></LI ><LI ><P > <CODE CLASS="varname" >PHPRC</CODE > 环境变量 </P ></LI ><LI ><P > 当前工作目录(对于 CLI) </P ></LI ><LI ><P > web 服务器目录(对于 SAPI 模块)或 PHP 所在目录(Windows 下其它情况) </P ></LI ><LI ><P > Windows 目录(<TT CLASS="filename" >C:\windows</TT > 或 <TT CLASS="filename" >C:\winnt</TT >),或 <TT CLASS="literal" >--with-config-file-path</TT > 编译时选项指定的位置 </P ></LI ></UL > </P ><P > 如果存在 <TT CLASS="filename" >php-SAPI.ini</TT >(SAPI 是当前所用的 SAPI 名称,因此实际文件名为 <TT CLASS="filename" >php-cli.ini</TT > 或 <TT CLASS="filename" >php-apache.ini</TT > 等),则会用它替代 <TT CLASS="filename" >php.ini</TT >。SAPI 的名称可以用 <A HREF="function.php-sapi-name.html" ><B CLASS="function" >php_sapi_name()</B ></A > 来测定。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > Apache web 服务器在启动时会把目录转到根目录,这将导致 PHP 尝试在根目录下读取 <TT CLASS="filename" >php.ini</TT >,如果存在的话。 </P ></BLOCKQUOTE ></DIV ><P > 由扩展库处理的 <TT CLASS="filename" >php.ini</TT > 指令,其文档分别在各扩展库的页面。<A HREF="ini.html" >内核配置选项</A >见附录。不过也许不是所有的 PHP 指令都在手册中有文档说明。要得到自己的 PHP 版本中的配置指令完整列表,请阅读 <TT CLASS="filename" >php.ini</TT > 文件,其中都有注释。此外,也许从 CVS 得到的<A HREF="http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co" TARGET="_top" >最新版 <TT CLASS="filename" >php.ini</TT ></A > 也有帮助。 </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN2537" ></A ><P ><B >例 9-1. <TT CLASS="filename" >php.ini</TT > 例子</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="ini" >; any text on a line after an unquoted semicolon (;) is ignored [php] ; section markers (text within square brackets) are also ignored ; Boolean values can be set to either: ; true, on, yes ; or false, off, no, none register_globals = off track_errors = yes ; you can enclose strings in double-quotes include_path = ".:/usr/local/lib/php" ; backslashes are treated the same as any other character include_path = ".;c:\php\lib"</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > 自 PHP 5.1.0 起,有可能在 .ini 文件内引用已存在的 .ini 变量。例如:<TT CLASS="literal" >open_basedir = ${open_basedir} ":/new/dir"</TT >。 </P ></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="install.problems.bugs.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="configuration.changes.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >错误报告</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="install.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >怎样修改配置设定</TD ></TR ></TABLE ></DIV ></BODY ></HTML >