PHP

来自BMForum
跳转至: 导航搜索

本文将讲述如何安装 PHP.

Windows 系统下的安装

本节内容适用于 Windows 98/Me 以及 Windows NT/2000/XP/2003。PHP 不能在 16 位平台例如 Windows 3.1 下运行。有时把支持 PHP 的 Windows 平台称为 Win32。自 PHP 4.3.0 开始不再支持 Windows 95。

有两种方法在 Windows 下安装 PHP:手工安装或者使用安装程序安装。

如果有 Microsoft Visual Studio,也可以编译 PHP 的源程序。

一旦在 Windows 系统下安装好 PHP 之后,可能需要加载各种扩展库以实现更多的功能。

Windows 自动安装程序

PHP 的 Windows 安装程序可以在 http://www.php.net/downloads.php 下载。它会为 IIS、PWS 和 Xitami 安装 CGI 版本的 PHP,并配置好 web 服务器。该安装程序不包含任何外部的 PHP 扩展(PHP_*.dll)。如果需要,可以在 Windows ZIP 包和 PECL 中找到。

注: 虽然 Windows 安装程序是让 PHP 工作的最容易的方法,但是它有很多限制。例如,它不支持自动安装 PHP 扩展。使用安装程序安装 PHP 不是最好的方式。

首先,在系统中安装自己选择的 HTTP(web)服务器,并确认它正常工作。

运行安装程序,按照向导说明一步步安装。它支持两种安装类型:标准,将使用合理的默认配置进行安装;高级,会在配置中询问几个问题。

安装向导会收集足够的信息来设置 php.ini 文件,并配置好 web 浏览器以使用 PHP。PHP 安装程序不能自动配置 Apache,因此需要手动进行配置。

一旦安装完成,安装程序会提示重新启动系统,重启服务器,或直接开始使用 PHP。

Windows 手动安装

本安装指南指导手动在一个 Microsoft Windows 的 web 服务器下安装和配置 PHP。安装前需要从 http://www.php.net/downloads.php 下载 PHP 的 ZIP 二进制发布包。

  • 将 PHP 压缩包释放到选择的目录中。若使用 PHP 4,可以解压缩到 C:\,压缩包会被释放到一个类似 php-4.3.7-Win32 的新目录中。若使用 PHP 5,请解压缩到 C:\php,因为其 ZIP 包内没有类似 php-4.3.7-Win32 的目录信息。可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃。
  • 要让 php4ts.dll / php5ts.dll 能正确被搜索到,有下面三个选择:复制该文件到 Windows 系统目录 (如 C:\WINDOWS) ,复制该文件到 web 服务器的目录,或者把 PHP 目录(例如 C:\php)添加到 PATH 环境变量中。为了将来更好的维护,建议使用最后一个选择,将 PHP 目录添加到 PATH 环境变量中,因为这样更便于将来升级 PHP。
  • 下一步是为 PHP 设置一个有效的配置文件,php.ini。在 ZIP 包中有两个 ini 文件,php.ini-dist 和 php.ini-recommended。建议使用 php.ini-recommended,并将其重命名为 php.ini。

PHP 现在已经安装在系统中了。接下来一步是选择一个 web 服务器,并为之启用 PHP。请在本章目录中选择一个 web 服务器以了解更详细的安装步骤。

Microsoft IIS/PWS

Windows NT/200x/XP 和 IIS 4 或更高版本

PHP 可以安装为 CGI 或者 ISAPI 模块。不管哪种,都需要启动 Microsoft 管理控制台(也可能是“Internet 信息服务”,在 Windows NT 4.0 Option Pack 中或者在 Windows 2000/XP 下的控制面板=>管理工具)。然后右键点击 web 服务器节点(通常为“默认网站”),并选择“属性”。

如果想用 CGI 方式,按如下方法进行:


选择“主目录”,“虚拟目录”或“目录”标签页,然后进行:

将执行权限改为“纯脚本”

点“配置”按钮,选择“映射”标签页。点击“添加”按钮,将“可执行文件”指向适当的 CGI 文件名。例如 PHP 5 的值可能是:C:\php\php-cgi.exe。在“扩展名”中填入 .php。选择“全部动作”(或者“限制为”留空),选中“脚本引擎”。然后点击“确定”。

设定合适的目录安全性(在 Internet 信息服务中完成)。如果 NT 服务器使用 NTFS 文件系统,给 I_USR_ 用户加上 php.exe/php-cgi.exe 文件所在目录的可执行权限(通过资源管理器完成)。


要用 ISAPI 模块方式,按如下方法进行:


如果不想用 PHP 进行 HTTP 认证,应该跳过这一步。在“ISAPI 筛选器”标签页中添加一个新的 ISAPI 筛选器。“筛选器名称”设为 PHP,“可执行文件”设为 php4isapi.dll/php5isapi.dll 的路径。

选择“主目录”,“虚拟目录”或“目录”标签页,然后进行:

将执行权限改为“纯脚本”

点“配置”按钮,选择“映射”标签页。点击“添加”按钮,将“可执行文件”指向适当的 ISAPI DLL。例如 PHP 5 的值可能是:C:\php\php5isapi.dll。在“扩展名”中填入 .php。选择“全部动作”(或者“限制为”留空),选中“脚本引擎”。然后点击“确定”。

完全停止 IIS(NET STOP iisadmin)

重新启动 IIS(NET START w3svc)


对于 IIS 6(2003 Server),打开 IIS 管理器,进入 web 服务扩展,点击“添加一个新的 web 服务扩展”,“扩展名”中输入名称,例如 PHP,再点击“添加”按钮,点击“浏览”选择要么 ISAPI 文件(php4isapi.dll 或 php5isapi.dll)或者 CGI 文件(php.exe 或 php-cgi.exe)作为“文件路径”后点“确定”,然后选中“设置扩展状态为允许”并点“确定”。

要使用 index.php 作为默认文档,在“文档”标签页中选择“添加”。输入 index.php 并点“确定”。用上下箭头按钮调整顺序。这和在 Apache 中设定 DirectoryIndex 相似。

对于每个要关联为 PHP 脚本的后缀都要重复以上步骤。.php 是最常用的,此外为兼容一些遗留下来的老程序可能还需要加上 .php3。

如果过些时候之后碰到 CPU 占用率达到 100%,则取消选中“缓存 ISAPI 应用程序”(“主目录”下点“配置”按钮”)。

Windows 和 PWS 4

PWS 4 不支持 ISAPI,只能使用 PHP CGI。

编辑包里附上的 pws-php4cgi.reg/pws-php5cgi.reg 文件(PHP 4 在 SAPI 目录下,PHP 5 在主目录下)改为自己的 php.exe/php-cgi.exe 文件的路径。反斜线应双写,例如:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="C:\\php\\php.exe"(如果用 PHP 5 则改为 C:\\php\\php-cgi.exe)。然后将此注册表文件合并入系统;鼠标双击此文件即可。

在 PWS 管理器中,右键点击需要加入 PHP 支持的目录并选择“属性”。选中“执行”,并确认。

Microsoft Windows 下的 Apache 1.3.x

应该将下面几行加入 Apache 的 httpd.conf 文件:

这里假设 PHP 安装在 c:\php。如果不是这样请根据情况修改路径。

对于 PHP 4:

# 在 LoadModule 一节的末尾添加
# 不要忘记将该文件从 sapi 复制出来
LoadModule php4_module "C:/php/php4apache.dll"

# 在 AddModule 一节的末尾添加
AddModule mod_php4.c

对于 PHP 5:

# 在 LoadModule 一节的末尾添加
LoadModule php5_module "C:/php/php5apache.dll"

# 在 AddModule 一节的末尾添加
AddModule mod_php5.c

两个 PHP 版本都需要添加的内容:

# 将下面这行添加到 <IfModule mod_mime.c> 条件块中
AddType application/x-httpd-php .php

# 如果要使用语法高亮的 .phps 文件,需要添加
AddType application/x-httpd-php-source .phps

Microsoft Windows 下的 Apache 2.0.x

需要将以下两行加入到 Apache 的 httpd.conf 配置文件中以设定 Apache 2.0 的 PHP 模块: 例子 6-6. PHP 在 Apache 2.0 中的模块方式

# 对 PHP 4 用这两行:
LoadModule php4_module "c:/php/php4apache2.dll"
# 别忘了从 sapi 目录中把 php4apache2.dll 拷贝出来!
AddType application/x-httpd-php .php
# 对 PHP 5 用这两行:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# 配置 php.ini 的路径
PHPIniDir "C:/php"