Sophie

Sophie

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

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
>Unix 系统下的 Apache 2.0</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="Unix 系统下的安装"
HREF="install.unix.html"><LINK
REL="PREVIOUS"
TITLE="Unix 系统下的安装"
HREF="install.unix.html"><LINK
REL="NEXT"
TITLE="Caudium 服务器"
HREF="install.caudium.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="install.unix.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>章 4. Unix 系统下的安装</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="install.caudium.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="install.unix.apache2"
>Unix 系统下的 Apache 2.0</A
></H1
><P
>&#13;     本节包括在 Unix 平台的 Apache 2.0 下安装 PHP 的说明和提示。
    </P
><DIV
CLASS="warning"
><P
></P
><TABLE
CLASS="warning"
BORDER="1"
WIDTH="100%"
><TR
><TD
ALIGN="CENTER"
><B
>警告</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
>不推荐将线程化 MPM
用于实际运作的 Apache 2 环境中去。用 prefork MPM 替代,或者用
Apache 1。其原因见 FAQ 中的<A
HREF="faq.installation.html#faq.installation.apache2"
>使用线程化 MPM 的 Apache2</A
>。</P
></TD
></TR
></TABLE
></DIV
><P
>&#13;     推荐阅读 <A
HREF="http://httpd.apache.org/docs/2.0/"
TARGET="_top"
>Apache 文档</A
>,了解一下
     Apache 2.0 服务器。
    </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>PHP 和 Apache 2.0.x 兼容性注意事项: </B
>
  已知下列版本的 PHP 可以工作于最近版本的 Apache 2.0.x 之下:
  <P
></P
><UL
COMPACT="COMPACT"
><LI
><SPAN
>&#13;     PHP 4.3.0 或更高版本,可从
     <A
HREF="http://www.php.net/downloads.php"
TARGET="_top"
>http://www.php.net/downloads.php</A
> 下载。
    </SPAN
></LI
><LI
><SPAN
>&#13;     最新的稳定开发版。取得源代码 <A
HREF="http://snaps.php.net/php5-latest.tar.gz"
TARGET="_top"
>http://snaps.php.net/php5-latest.tar.gz</A
>
     或下载 Windows 可执行程序 <A
HREF="http://snaps.php.net/win32/php5-win32-latest.zip"
TARGET="_top"
>http://snaps.php.net/win32/php5-win32-latest.zip</A
>。
    </SPAN
></LI
><LI
><SPAN
>&#13;     预发布版,可从
     <A
HREF="http://qa.php.net/"
TARGET="_top"
>http://qa.php.net/</A
> 下载。
    </SPAN
></LI
><LI
><SPAN
>&#13;     总是可以通过<A
HREF="http://www.php.net/anoncvs.php"
TARGET="_top"
>匿名 CVS</A
> 取得 PHP。
    </SPAN
></LI
></UL
>
  以上版本的 PHP 与 Apache 2.0.40 或更高版本兼容。
 </P
><P
>&#13;  Apache 2.0 <TT
CLASS="literal"
>SAPI</TT
> 支持自 PHP 4.2.0
  起。PHP 4.2.3 可工作于 2.0.39,不要用任何其它版本的 Apache
  与 PHP 4.2.3 配合。不过推荐的设置是用 PHP 4.3.0
  或更高版本与最新版的 Apache2 配合使用。
 </P
><P
>&#13;  所有提及的 PHP 版本仍然能工作于 Apache 1.3.x 之下。
 </P
></BLOCKQUOTE
></DIV
><P
>&#13;     下载最新版本的 <A
HREF="http://www.apache.org/"
TARGET="_top"
>Apache 2.0</A
>,并且根据上文选择合适版本的
     PHP 下载。本向导仅包含最基础的内容,只能让 Apache 2.0 和 PHP
     能够正常工作。更多信息请阅读 <A
HREF="http://httpd.apache.org/docs/2.0/"
TARGET="_top"
>Apache
     文档</A
>。这里省略所有的版本号,以保证本文的正确性。需要将本文的“NN”替换为相应的版本号。
    </P
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN528"
></A
><P
><B
>例 4-4. 
      安装说明(Apache 2 共享模块版本)
     </B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure --enable-so
7.  make
8.  make install

    现在已经将 Apache 2.0.NN 安装在 /usr/local/apache。本安装支持可装载模块
    和标准的 MPM prefork。之后,可以使用如下命令启动 Apache 服务器:
    /usr/local/apache2/bin/apachectl start
    如果成功,可以停止 Apache 服务器并继续安装 PHP:
    /usr/local/apache2/bin/apachectl stop.

9.  cd ../php4-NN

10. 现在需要配置 PHP。在这里可以用各种各样的参数来自定义PHP,例如启动哪些
    扩展功能包的支持等。用 ./configure --help 命令可以列出当前可用的所有参
    数。在此例中,将给出一个在有 MySQL 支持的 Apache 2 上进行配置的范例。
    用户本地的 apxs 的路径可能会不同,事实上,在用户的系统中,它可能被命名为
    apxs2。

    ./configure --with-apxs2=/usr/local/apache2/bin/apxs

11. make
12. make install

    如果决定在安装后改变配置选项,只需重复最后的三步,然后需要重新启动 Apache
    使新模块生效。无需重新编译。

    请注意,除非明确有提示,否则“make install”命令将安装 PEAR、各种 PHP 工具
    诸如 phpize,安装 PHP CLI 等等。

13. 配置 php.ini

    cp php.ini-dist /usr/local/lib/php.ini

    可以编辑 php.ini 文件以修改 PHP 的选项。如果想要把此文件放到另外的位置,
    需要在步骤 10 添加 --with-config-file-path=/path 选项。

    如果选择 php.ini -recommended,请务必阅读其中的变更的列表,它们将影响
    PHP 的执行。

14. 编辑 httpd.conf 文件以调用 PHP 模块。LoadModule 表达式右边的路径必须指向
    系统中的 PHP。以上的 make install 命令可能已经完成了这些,但务必要检查。

    对于 PHP 4:
       LoadModule php4_module modules/libphp4.so

    对于 PHP 5:
       LoadModule php5_module modules/libphp5.so

15. 告知 Apache 将特定的扩展名解析成 PHP,例如,让 Apache 将扩展名 .php
    解析成 PHP。可以将任何扩展名指定为 PHP,只需添加它们,每一个用空格分隔。
    例如,要添加 .phtml:

    AddType application/x-httpd-php .php .phtml

    通常还将 .phps 扩展名设置成显示高亮的 PHP 源文件,可以这样来完成:

    AddType application/x-httpd-php-source .phps

16. 启动 Apache 服务器:
   /usr/local/apache2/bin/apachectl start</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
><P
>&#13;     按照上面的步骤便可以使 Apache 2.0 将 PHP 作为 <TT
CLASS="literal"
>SAPI</TT
>
     模块了。当然 Apache 和 PHP 都还有很多配置选项,可以在相应的源代码目录中使用
     <B
CLASS="command"
>./configure --help</B
> 获得更多信息。假如要编译一个多线程版本的
     Apache 2.0,必须覆盖标准的 MPM-Module <TT
CLASS="filename"
>prefork</TT
>,或者
     <TT
CLASS="filename"
>worker</TT
> 或者 <TT
CLASS="filename"
>perchild</TT
>。要这样,需要在上面的第
     6 步使用 <CODE
CLASS="option"
>--with-mpm=worker</CODE
> 或者
     <CODE
CLASS="option"
>--with-mpm=perchild</CODE
>
     选项。之前需要了解自己在做什么。更多信息请参考 Apache 文档中关于
     <A
HREF="http://httpd.apache.org/docs/2.0/mpm.html"
TARGET="_top"
>MPM-Modules</A
> 的部分。
    </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
      如果要使用内容协商(content negotiation)机制,请阅读
      <A
HREF="faq.installation.html#faq.installation.apache.multiviews"
>Apache MultiViews
      常见问题</A
>。
     </P
></BLOCKQUOTE
></DIV
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
      要编译多线程版本的 Apache,系统必须支持多线程。这也意味着需要将 PHP
      编译为正处在试验阶段的 Zend Thread
      Safety(ZTS),因此并不是所有的扩展都可以使用了。推荐编译
      Apache 使用标准的 <TT
CLASS="filename"
>prefork</TT
> MPM-Module。
     </P
></BLOCKQUOTE
></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.unix.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="install.caudium.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Unix 系统下的安装</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="install.unix.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Caudium 服务器</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>