Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 5322

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!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="configuration.html"><LINK
REL="PREVIOUS"
TITLE="运行时配置"
HREF="configuration.html"><LINK
REL="NEXT"
TITLE="语言参考"
HREF="langref.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="sect1"
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="configuration.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>章 9. 运行时配置</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="langref.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="configuration.changes"
>怎样修改配置设定</A
></H1
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="configuration.changes.apache"
>PHP 运行于 Apache 模块方式</A
></H2
><P
>&#13;    当使用 PHP 作为 Apache 模块时,也可以用 Apache
    的配置文件(例如 <TT
CLASS="filename"
>httpd.conf</TT
>)和 <TT
CLASS="filename"
>.htaccess</TT
>
    文件中的指令来修改 PHP 的配置设定。需要有“AllowOverride
    Options”或“AllowOverride All”权限才可以。
   </P
><P
>&#13;    在 PHP 4 和 PHP 5 中,有几个 Apache 指令可以使用户在 Apache
    配置文件内部修改 PHP 的配置。哪些指令属于
    <TT
CLASS="constant"
><B
>PHP_INI_ALL</B
></TT
>,<TT
CLASS="constant"
><B
>PHP_INI_PERDIR</B
></TT
>
    或 <TT
CLASS="constant"
><B
>PHP_INI_SYSTEM</B
></TT
> 中的哪一个,请参考附录中的
    <A
HREF="ini.html#ini.list"
>php.ini 配置选项列表</A
>。
   </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
     在 PHP 3 中,每个 <TT
CLASS="filename"
>php3.ini</TT
> 中的配置设定都有相应的
     Apache 指令,不过名字前要加上前缀“php3_”。
    </P
></BLOCKQUOTE
></DIV
><P
>&#13;    <P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><SPAN
CLASS="systemitem"
>php_value</SPAN
>
       <CODE
CLASS="parameter"
>name</CODE
>
       <CODE
CLASS="parameter"
>value</CODE
></DT
><DD
><P
>&#13;        设定指定的值。只能用于
        <TT
CLASS="constant"
><B
>PHP_INI_ALL</B
></TT
> 或 <TT
CLASS="constant"
><B
>PHP_INI_PERDIR</B
></TT
>
        类型的指令。要清除先前设定的值,把 value 设为 <TT
CLASS="literal"
>none</TT
>。
       </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
         不要用 <SPAN
CLASS="systemitem"
>php_value</SPAN
> 设定布尔值。应该用
         <SPAN
CLASS="systemitem"
>php_flag</SPAN
>(见下面)。
        </P
></BLOCKQUOTE
></DIV
></DD
><DT
><SPAN
CLASS="systemitem"
>php_flag</SPAN
>
       <CODE
CLASS="parameter"
>name</CODE
>
       <CODE
CLASS="parameter"
>on|off</CODE
></DT
><DD
><P
>&#13;        用来设定布尔值的配置指令。仅能用于
        <TT
CLASS="constant"
><B
>PHP_INI_ALL</B
></TT
> 和
        <TT
CLASS="constant"
><B
>PHP_INI_PERDIR</B
></TT
> 类型的指令。
       </P
></DD
><DT
><SPAN
CLASS="systemitem"
>php_admin_value</SPAN
>
       <CODE
CLASS="parameter"
>name</CODE
>
       <CODE
CLASS="parameter"
>value</CODE
></DT
><DD
><P
>&#13;        设定指定的指令的值。<SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>不能用于</I
></SPAN
> <TT
CLASS="filename"
>.htaccess</TT
>
        文件。任何用 <SPAN
CLASS="systemitem"
>php_admin_value</SPAN
>
        设定的指令都不能被 <TT
CLASS="filename"
>.htaccess</TT
> 或 virtualhost
        中的指令覆盖。要清除先前设定的值,把 value 设为 <TT
CLASS="literal"
>none</TT
>。
       </P
></DD
><DT
><SPAN
CLASS="systemitem"
>php_admin_flag</SPAN
>
       <CODE
CLASS="parameter"
>name</CODE
>
       <CODE
CLASS="parameter"
>on|off</CODE
></DT
><DD
><P
>&#13;        用来设定布尔值的配置指令。<SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>不能用于</I
></SPAN
> <TT
CLASS="filename"
>.htaccess</TT
>
        文件。任何用 <SPAN
CLASS="systemitem"
>php_admin_flag</SPAN
>
        设定的指令都不能被 <TT
CLASS="filename"
>.htaccess</TT
> 或 virtualhost
        中的指令覆盖。
       </P
></DD
></DL
></DIV
>
   </P
><P
>&#13;    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN2607"
></A
><P
><B
>例 9-2. Apache 配置例子</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="ini"
>&#60;IfModule mod_php5.c&#62;
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
&#60;/IfModule&#62;
&#60;IfModule mod_php4.c&#62;
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
&#60;/IfModule&#62;
&#60;IfModule mod_php3.c&#62;
  php3_include_path ".:/usr/local/lib/php"
  php3_safe_mode on
&#60;/IfModule&#62;</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
><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
>&#13;     PHP 常量不存在于 PHP 之外。例如在
     <TT
CLASS="filename"
>httpd.conf</TT
> 中不能使用 PHP 常量如
     <TT
CLASS="constant"
><B
>E_ALL</B
></TT
> 或 <TT
CLASS="constant"
><B
>E_NOTICE</B
></TT
> 来设定
     <A
HREF="ref.errorfunc.html#ini.error-reporting"
>error_reporting</A
>
     指令,因为其无意义,实际等于
     <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>0</I
></SPAN
>。应该用相应的掩码值来替代。这些常量可以在
     <TT
CLASS="filename"
>php.ini</TT
> 中使用。
    </P
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="configuration.changes.windows"
>通过 Windows 注册表修改 PHP 配置</A
></H2
><P
>&#13;     在 Windows 下运行 PHP 时,可以用 Windows
     注册表以目录为单位来修改配置。配置值存放于注册表项
     <TT
CLASS="literal"
>HKLM\SOFTWARE\PHP\Per Directory Values</TT
>
     下面,子项对应于路径名。例如对于目录
     <TT
CLASS="literal"
>c:\inetpub\wwwroot</TT
> 的配置值会存放于
     <TT
CLASS="literal"
>HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot</TT
>
     项下面。其中的设定对于任何位于此目录及其任何子目录的脚本都有效。项中的值的名称是
     PHP 配置指令的名字,值的数据是字符串格式的指令值。值中的 PHP
     常量不被解析。不过只有可修改范围是 PHP_INI_USER
     的配置值可以用此方法设定,PHP_INI_PERDIR 的值就不行。
    </P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="configuration.changes.other"
>其它接口下的 PHP</A
></H2
><P
>&#13;    无论怎样运行 PHP,都可以在脚本中通过 <A
HREF="function.ini-set.html"
><B
CLASS="function"
>ini_set()</B
></A
>
    而在运行时修改某个值。更多信息见手册中
    <A
HREF="function.ini-set.html"
><B
CLASS="function"
>ini_set()</B
></A
> 的页面。
   </P
><P
>&#13;    如果对自己系统中的配置设定及其当前值的完整列表感兴趣,可以运行
    <A
HREF="function.phpinfo.html"
><B
CLASS="function"
>phpinfo()</B
></A
> 函数并查看其结果的页面。也可以在运行时用
    <A
HREF="function.ini-get.html"
><B
CLASS="function"
>ini_get()</B
></A
> 或
    <A
HREF="function.get-cfg-var.html"
><B
CLASS="function"
>get_cfg_var()</B
></A
> 取得个别配置指令的值。
   </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="configuration.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="langref.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>运行时配置</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="configuration.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>语言参考</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>