<!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="Windows 系统下的安装" HREF="install.windows.html"><LINK REL="PREVIOUS" TITLE="Windows 系统下的安装" HREF="install.windows.html"><LINK REL="NEXT" TITLE="ActiveScript" HREF="install.windows.activescript.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.windows.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >章 6. Windows 系统下的安装</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="install.windows.activescript.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="install.windows.manual" >手工安装步骤</A ></H1 ><P > 本安装指南指导手动在一个 Microsoft Windows 的 web 服务器下安装和配置 PHP。安装前需要从 <A HREF="http://www.php.net/downloads.php" TARGET="_top" >http://www.php.net/downloads.php</A > 下载 PHP 的 ZIP 二进制发布包。 </P ><P > 虽然目前有很多多合一的安装包,而且也发布了一个 Microsoft Windows 的 PHP 安装程序,但是仍然建议用户花些时间自己手动安装 PHP。因为这样才可以更加了解这套系统,并能够在需要的时候更方便的安装 PHP 扩展。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><A NAME="install.windows.manual.upgrade" ></A ><P ><B >从旧版本的 PHP 升级: </B > 上一版的手册建议将 ini 和多个 <ACRONYM CLASS="acronym" >DLL</ACRONYM > 文件移动到系统文件夹(例如 <TT CLASS="filename" >C:\WINDOWS</TT >)。这一步骤虽然简化了安装过程,却导致升级上的困难。建议在使用新版本的 PHP 前删除所有这些文件(比如从 Windows 系统文件夹删除 <TT CLASS="filename" >php.ini</TT > 和 PHP 相关的 DLL 文件)。务必在删除前备份这些文件,因为这一操作可能破坏整个系统。原有的 <TT CLASS="filename" >php.ini</TT > 在安装新版本的 PHP 时也可用来参考。不久用户便会明白,安装 PHP 最好的方式便是将所有 PHP 有关的文件都放入同一目录,并在系统的 PATH 环境变量中设置此目录。 </P ></BLOCKQUOTE ></DIV ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >MDAC 需求: </B > 如果使用 Microsoft <SPAN CLASS="emphasis" ><I CLASS="emphasis" >Windows 98/NT4</I ></SPAN >,需要下载适用于系统最新版本的 Microsoft Data Access Components(MDAC)。MDAC 可在 <A HREF="http://msdn.microsoft.com/data/" TARGET="_top" >http://msdn.microsoft.com/data/</A > 下载。需要 MDAC 的原因是 Windows 二进制包中编译进了 <A HREF="ref.uodbc.html" >ODBC</A > 支持。 </P ></BLOCKQUOTE ></DIV ><P > 不论何种 web 服务器,都需要先进行以下步骤: </P ><P > 将 PHP 压缩包释放到选择的目录中。若使用 PHP 4,可以解压缩到 <TT CLASS="filename" >C:\</TT >,压缩包会被释放到一个类似 <TT CLASS="filename" >php-4.3.7-Win32</TT > 的新目录中。若使用 PHP 5,请解压缩到 <TT CLASS="filename" >C:\php</TT >,因为其 ZIP 包内没有类似 <TT CLASS="filename" >php-4.3.7-Win32</TT > 的目录信息。可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃。 </P ><P > 解压缩后的目录对应 PHP 4 和 5 是不同的。它们的目录结构分别为: </P ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN1088" ></A ><P ><B >例 6-1. PHP 4 目录结构</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="programlisting" >c:\php | +--cli | | | |-php.exe -- CLI 可执行程序 - 仅使用在命令行脚本 | +--dlls -- 某些扩展需要的 DLL 文件 | | | |-expat.dll | | | |-fdftk.dll | | | |-... | +--extensions -- PHP 的扩展 DLL 文件 | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-.. | +--mibs -- SNMP 支持文件 | +--openssl -- Openssl 支持文件 | +--pdf-related -- PDF 支持文件 | +--sapi -- SAPI(服务器模块支持)DLL 文件 | | | |-php4apache.dll | | | |-php4apache2.dll | | | |-.. | +--PEAR -- PEAR 的初始复本 | | |-go-pear.bat -- PEAR 安装脚本 | |-.. | |-php.exe -- CGI 可执行文件 | |-.. | |-php.ini-dist -- 默认的 php.ini 设置 | |-php.ini-recommended -- 推荐的 php.ini 设置 | |-php4ts.dll -- 核心 PHP DLL 文件 | |-...</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="AEN1092" ></A ><P ><B >例 6-2. PHP 5 目录结构</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="programlisting" >c:\php | +--dev | | | |-php5ts.lib | +--ext -- PHP 的扩展 DLL 文件 | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-.. | +--extras | | | +--mibs -- SNMP 支持文件 | | | +--openssl -- Openssl 支持文件 | | | +--pdf-related -- PDF 支持文件 | | | |-mime.magic | +--pear -- PEAR 的初始复本 | | |-go-pear.bat -- PEAR 安装脚本 | |-fdftk.dll | |-.. | |-php-cgi.exe -- CGI 可执行文件 | |-php-win.exe -- 执行脚本时不弹出命令提示行窗口 | |-php.exe -- CLI 可执行程序 - 仅使用在命令行脚本 | |-.. | |-php.ini-dist -- 默认的 php.ini 设置 | |-php.ini-recommended -- 推荐 php.ini 设置 | |-php5activescript.dll | |-php5apache.dll | |-php5apache2.dll | |-.. | |-php5ts.dll -- 核心 PHP DLL 文件 | |-...</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ><P > 请注意它们之间的不同和相似之处。PHP 4 和 PHP 5 都有一个 <ACRONYM CLASS="acronym" >CGI</ACRONYM > 可执行文件、一个 <ACRONYM CLASS="acronym" >CLI</ACRONYM > 可执行文件和服务器模块,但是它们位于不同的文件夹和/或有着不同的命名。PHP 4 将服务器模块放在 <TT CLASS="filename" >sapi</TT > 文件夹,而 PHP 5 并没有此目录,它的服务器模块文件位于 PHP 根文件夹中。PHP 5 的扩展支持 DLL 文件也并没有放在一个单独的目录中。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 在 PHP 4 中,需要将位于 <TT CLASS="filename" >dll</TT > 和 <TT CLASS="filename" >sapi</TT > 文件夹中的文件移动到主文件夹中(例如 <TT CLASS="filename" >C:\php</TT >)。 </P ></BLOCKQUOTE ></DIV ><P > 下面是 PHP 4 和 PHP 5 附带的服务器模块列表: <P ></P ><UL ><LI ><P > <TT CLASS="filename" >sapi/php4activescript.dll (php5activescript.dll)</TT > - <A HREF="install.windows.activescript.html" >ActiveScript 引擎</A >,允许将 PHP 嵌入 Windows 应用程序中。 </P ></LI ><LI ><P > <TT CLASS="filename" >sapi/php4apache.dll(php5apache.dll)</TT > - Apache 1.3.x 模块。 </P ></LI ><LI ><P > <TT CLASS="filename" >sapi/php4apache2.dll(php5apache2.dll)</TT > - Apache 2.0.x 模块。 </P ></LI ><LI ><P > <TT CLASS="filename" >sapi/php4isapi.dll(php5isapi.dll)</TT > - ISAPI 模块,支持 ISAPI 兼容的 web 服务器,比如 IIS 4.0/PWS 4.0 或更新版本。 </P ></LI ><LI ><P > <TT CLASS="filename" >sapi/php4nsapi.dll(php5nsapi.dll)</TT > - Sun/iPlanet/Netscape 服务器模块。 </P ></LI ><LI ><P > <TT CLASS="filename" >sapi/php4pi3web.dll(PHP 5 无此模块)</TT > - Pi3Web 服务器模块。 </P ></LI ></UL > </P ><P > 服务器模块比 CGI 可执行程序提供了更好的性能和更多的功能。CLI 版本是为使用 PHP 命令行脚本而设计的。关于 CLI 的更多信息可以在 <A HREF="features.commandline.html" >PHP 的命令行模式</A >一章中找到。 </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 > SAPI 模块在 4.1 中有较多的增强。但是,在老系统中可能会产生服务器错误,或导致服务器的其它模块停止工作,比如 ASP。 </P ></TD ></TR ></TABLE ></DIV ><P > CGI 和 CLI 可执行文件以及 web 服务器模块都需要 <TT CLASS="filename" >php4ts.dll</TT >(<TT CLASS="filename" >php5ts.dll</TT >)。必须确认该文件可以在 PHP 安装路径中找到。对该 DLL 的搜索顺序为: <P ></P ><UL ><LI ><P > 调用 <TT CLASS="filename" >php.exe</TT > 时所在的目录,或者若使用 SAPI 模块时,web 服务器的目录(例如 <TT CLASS="filename" >C:\Program Files\Apache Group\Apache2\bin</TT >)。 </P ></LI ><LI ><P > 任何在 Windows 的 <CODE CLASS="varname" >PATH</CODE > 环境变量中指定的目录。 </P ></LI ></UL > </P ><P > 要让 <TT CLASS="filename" >php4ts.dll</TT > / <TT CLASS="filename" >php5ts.dll</TT > 能正确被搜索到,有下面三个选择:复制该文件到 Windows 系统目录,复制该文件到 web 服务器的目录,或者把 PHP 目录(例如 <TT CLASS="filename" >C:\php</TT >)添加到 <CODE CLASS="varname" >PATH</CODE > 环境变量中。为了将来更好的维护,建议使用最后一个选择,将 PHP 目录添加到 <CODE CLASS="varname" >PATH</CODE > 环境变量中,因为这样更便于将来升级 PHP。在相应的<A HREF="faq.installation.html#faq.installation.addtopath" >常见问题解答</A >项目中可以了解如何将 PHP 目录添加到 <CODE CLASS="varname" >PATH</CODE > 环境变量中(别忘了重新启动电脑,光注销还不够)。 </P ><P > 下一步是为 PHP 设置一个有效的配置文件,<TT CLASS="filename" >php.ini</TT >。在 ZIP 包中有两个 ini 文件,<TT CLASS="filename" >php.ini-dist</TT > 和 <TT CLASS="filename" >php.ini-recommended</TT >。建议使用 <TT CLASS="filename" >php.ini-recommended</TT >,因为在该文件中优化了性能和安全。请仔细阅读该文件中的注释,因为它从 <TT CLASS="filename" >php.ini-dist</TT > 修改而来,会对设置产生较大的影响。例如将 <A HREF="ref.errorfunc.html#ini.display-errors" >display_errors</A > 设置为 <TT CLASS="literal" >off</TT >,将 <A HREF="ref.info.html#ini.magic-quotes-gpc" >magic_quotes_gpc</A > 设置为 <TT CLASS="literal" >off</TT >。除了阅读这些部分,还可以学习一下 <A HREF="configuration.html#configuration.file" >ini 设置</A >,并手动设置每一个配置项目。如果想要最安全的设置,这是最好的方法,虽然 PHP 在默认配置下也是很安全的。复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 <TT CLASS="filename" >php.ini</TT >。PHP 搜索 <TT CLASS="filename" >php.ini</TT > 的路径在<A HREF="configuration.html#configuration.file" >配置文件</A >一节已有介绍。 </P ><P > 如果使用 Apache 2,更简单的选择是使用 PHPIniDir 指令(请阅读<A HREF="install.windows.apache2.html" >在 Apache 2 下的安装</A >);若不是,最好的选择是设置 <CODE CLASS="varname" >PHPRC</CODE > 环境变量。它在此<A HREF="faq.installation.html#faq.installation.phprc" >常见问题解答</A >项目中进行了解释。 </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 如果在 Windows NT、2000、XP 或 2003 中使用 NTFS 分区,请确认运行 web 服务器的用户有权限读取 <TT CLASS="filename" >php.ini</TT >(例如将其设置为 Everyone 可读) </P ></BLOCKQUOTE ></DIV ><P > 下面的步骤是可选的: <P ></P ><UL ><LI ><P > 编辑新的 <TT CLASS="filename" >php.ini</TT > 文件。如果计划使用 <A HREF="install.windows.omnihttpd.html" >OmniHTTPd</A >,不要执行下一步。设置 <A HREF="ini.core.html#ini.doc-root" >doc_root</A > 并指向 web 服务器的 document_root。例如: <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN1176" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="ini" >doc_root = c:\inetpub\wwwroot // for IIS/PWS doc_root = c:\apache\htdocs // for Apache</PRE ></TD ></TR ></TABLE ><P ></P ></DIV > </P ></LI ><LI ><P > 选择 PHP 装载的扩展库。请阅读关于 <A HREF="install.windows.extensions.html" >Windows 扩展</A >一节以了解如何设置扩展库,以及哪些功能已经内置无需扩展库。请注意建议在全新安装时先不要在 <TT CLASS="filename" >php.ini</TT > 中加载任何扩展库,首先要保证 PHP 自身能够正常工作。 </P ></LI ><LI ><P > 在 PWS 和 IIS,可以设置 <A HREF="ref.misc.html#ini.browscap" >browscap</A > 配置:在 Windows 9x/Me 中指向 <TT CLASS="filename" >c:\windows\system\inetsrv\browscap.ini</TT >,在 NT/2000 中指向 <TT CLASS="filename" >c:\winnt\system32\inetsrv\browscap.ini</TT >,在 XP 中指向 <TT CLASS="filename" >c:\windows\system32\inetsrv\browscap.ini</TT >。要得到最新版本的 <TT CLASS="filename" >browscap.ini</TT >,请阅读如下<A HREF="faq.obtaining.html#faq.obtaining.browscap" >常见问题解答项目</A >。 </P ></LI ></UL > </P ><P > PHP 现在已经安装在系统中了。接下来一步是选择一个 web 服务器,并为之启用 PHP。请在本章目录中选择一个 web 服务器以了解更详细的安装步骤。 </P ></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.windows.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.windows.activescript.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Windows 系统下的安装</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="install.windows.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >ActiveScript</TD ></TR ></TABLE ></DIV ></BODY ></HTML >