Windows下配置Apache支持PHP
思路:
首先安装 Apache ,并确保 Apache 能正常运作。安装具体步骤方法可参考我的另一篇文章:《Windows下安装Apache2.2.x》
其次就是安装 PHP ,并配置 Apache 支持 PHP 。
有两种方法在 Windows 下让 Apache 支持 PHP :使用Windows的环境变量或者 Apache 自身的支持。
安装前需要从 http://www.php.net/downloads.php 下载 PHP 的 ZIP 二进制发布包。虽然目前有很多多合一的安装包,而且也发布了一个 Microsoft Windows 的 PHP 安装程序,但是仍然建议用户花些时间自己手动安装PHP。因为这样才可以更加了解这套系统,并能够在需要的时候更方便的安装 PHP 扩展。
方法一:使用 Windows 环境变量
1、第一步,要确保 Apache 能正确找到 PHP 和相关的 DLL 扩展。
PHP 5.0版以前官方建议将 php.ini 和多个 DLL 文件移动到系统文件夹(例如 C:\WINDOWS)。这一步骤虽然简化了安装过程,却导致升级上的困难。建议在使用新版本的 PHP 前删除所有这些文件(比如从 Windows 系统文件夹删除 php.ini 和 PHP 相关的 DLL 文件)。务必在删除前备份这些文件,因为这一操作可能破坏整个系统。原有的 php.ini 在安装新版本的 PHP 时也可用来参考。不久用户便会明白,安装 PHP 最好的方式便是将所有 PHP 有关的文件都放入同一目录,并在系统的 PATH 环境变量中设置此目录。
将下载下来的 PHP 5.2.x 的ZIP压缩包解压到目的目录,比如 C:\php ,我是解压到了 E:\usr\php 。可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃。
PHP在Apache下的安装可以以服务器模块方式或 CGI 可执行程序方式安装,还有个 CLI 版本是为使用 PHP 命令行脚本而设计的。服务器模块比 CGI 可执行程序提供了更好的性能和更多的功能。所以我主要介绍服务器模块安装方式。
CGI 和 CLI 可执行文件以及 web 服务器模块都需要 php5ts.dll(php4ts.dll,php4中使用),必须确认该文件可以在 PHP 安装路径中找到。
对该 DLL 的搜索顺序为:
调用 php.exe 时所在的目录,或者若使用 SAPI 模块时,web 服务器的目录(例如 C:\Program Files\Apache Group\Apache2\bin)。
任何在 Windows 的 PATH 环境变量中指定的目录。
要让 php4ts.dll / php5ts.dll 能正确被搜索到,
有下面三个选择:
选择一: 复制该文件到 Windows 系统目录(C:\windows);
选择二: 复制该文件到 web 服务器的目录;
选择三: 或者把 PHP 目录(例如 C:\php )添加到 PATH 环境变量中。
为了将来更好的维护,建议使用最后一个选择,将 PHP 目录添加到 PATH 环境变量中,因为这样更便于将来升级 PHP。下面的讲解以第三个选择为例。
具体步骤:
①将 PHP 目录加入到 Windows 路径 PATH 中去
在 Windows NT,2000,XP 和 2003 下:
进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> l系统)
选择“高级”标签页
点击“环境变量”按钮
在“系统变量”栏中
找到 Path 这一项(可能需要向下滚动才能找到)
鼠标双击 Path 这一项
在最后加入你的 PHP 目录,包括前面的英文分号“;”(例如:;C:\php ,我的路径是 ;E:\usr\php )
点击“确定”并重新启动电脑
②使 php.ini 文件在 Windows 下被 PHP 所用
(这一步很重要,我实验了的,如果没有这一步,PHP 将搜寻不到 php.ini )
在 Windows NT,2000,XP 和 2003 种:
进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> l系统)
选择“高级”标签页
点击“环境变量”按钮
在“系统变量”栏中
点击“新建”按钮并在“变量名”中输入“PHPRC”,在“变量值”中输入 php.ini 文件所在的目录(例如:C:\php)
点击“确定”并重新启动电脑
2、第二步是为 PHP 设置一个有效的配置文件,php.ini 。
在 ZIP 包中有两个 ini 文件,php.ini-dist 和 php.ini-recommended 。官方手册中建议使用 php.ini-recommended ,因为在该文件中优化了性能和安全。请仔细阅读该文件中的注释,因为它从 php.ini-dist 修改而来,会对设置产生较大的影响。例如将 display_errors 设置为 off ,将 magic_quotes_gpc 设置为 off 。除了阅读这些部分,还可以学习一下 ini 设置,并手动设置每一个配置项目。如果想要最安全的设置,这是最好的方法,虽然 PHP 在默认配置下也是很安全的。
对于 PHP 的初学者来说,我建议用 php.ini-dist ,因为在该文件中将 display_errors 设置为 on,这样你在调试PHP代码时,会有错误提示,方便调试 PHP 代码调试。复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini 。比如我把将 php.ini-dist 复制到 E:\usr\php ,并命名为 php.ini 。
3、第三步,确保在 php.ini 中正确设定了 extension_dir 和 doc_root 指令的值。
这些指令依赖于 PHP 被安装的系统。打开 php.ini 文件,搜索“extension_dir”,在 PHP 4 中,extension_dir 是 extensions 而在 PHP 5 中是 ext 。因此在 PHP 5 中 extensions_dir 的一个取值例子是 “c:\php\ext”。比如我的php目录是E:\usr\php,所以我将这里的 extensions_dir 的值设置成 E:/usr/php/ext 。即:extensions_dir = E:/usr/php/ext 。
也可以选择运行一些其他的扩展,在这一步,我们建议只运行那些php工作所必需的扩展。我们将发现许多行代码例如: ;extension=php_fdf.dll 要启用这些扩展,只需要删除语句前面的分号,请注意,如果希望添加更多的扩展,应该在修改php.ini文件后重新启动web服务器。我启用了,php_fdf.dll php_gd2.php php_imap.dll php_mysqli.dll。 如果使用ntfs,请确认运行web服务器的用户身份具有读php.ini文件的权限
注意:php.ini 中的路径可以写成“E:/usr/php/ext”,也可以写成“E:\usr\php\ext ”,就是斜线(/)与反斜线(/)的区别。php.ini 中用斜线(/)或反斜线(/)都可以。Windows 中是用斜线(\)表示路径分隔符,Unix 和 Linux 中用反斜线(/)表示路径分隔符。所以从兼容性出发,推荐用反斜线(/)。如果路径中有空格,就要用英文双引号或单引号("或')括起来,但 Unix 和 Linux 中路径是不允许包含空格的,所以 Windows 下的路径最好也不要有空格。下面的同理。
然后在 php.ini 中搜索“doc_root”,这个是你的 WEB 根目录。IIS 的 doc_root 的取值例子是 “c:\Inetpub\wwwroot”;Apache 的 doc_root 默认是安装目录的 htdocs 文件夹,比如我的是 E:\usr\Apache2.2\htdocs(我把Apache安装在 usr 目录下了)。所以我写的例子是:doc_root = E:/usr/Apache2.2/htdocs,如果路径中有空格,要用英文引号括起来。
4、配置 Apache ,让其支持 PHP 。
将以下两行加入到 Apache 的 httpd.conf 配置文件中以设定 Apache 2.0 的 PHP 模块:
# 对 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 实际所在的路径替换掉上例中的 c:/php/ 。要留意在 LoadModule 指令中用的是 php4apache2.dll 或 php5apache2.dll ,而不是 php4apache.dll 或 php5apache.dll ,后者是设计用于 Apache 1.3.x 的。
特别要注意的是,Apache2.2 版本要用 php5apache2_2.dll 。Apache 配置文件中的路径分隔符一律用反斜线(/)表示。
======================================================================================
Windows下配置Apache支持PHP
思路:
首先安装 Apache ,并确保 Apache 能正常运作。安装具体步骤方法可参考我的另一篇文章:《Windows下安装Apache2.2.x》
其次就是安装 PHP ,并配置 Apache 支持 PHP 。
有两种方法在 Windows 下让 Apache 支持 PHP :使用Windows的环境变量或者 Apache 自身的支持。
安装前需要从 http://www.php.net/downloads.php 下载 PHP 的 ZIP 二进制发布包。虽然目前有很多多合一的安装包,而且也发布了一个 Microsoft Windows 的 PHP 安装程序,但是仍然建议用户花些时间自己手动安装PHP。因为这样才可以更加了解这套系统,并能够在需要的时候更方便的安装 PHP 扩展。
方法一:使用 Windows 环境变量
1、第一步,要确保 Apache 能正确找到 PHP 和相关的 DLL 扩展。
PHP 5.0版以前官方建议将 php.ini 和多个 DLL 文件移动到系统文件夹(例如 C:\WINDOWS)。这一步骤虽然简化了安装过程,却导致升级上的困难。建议在使用新版本的 PHP 前删除所有这些文件(比如从 Windows 系统文件夹删除 php.ini 和 PHP 相关的 DLL 文件)。务必在删除前备份这些文件,因为这一操作可能破坏整个系统。原有的 php.ini 在安装新版本的 PHP 时也可用来参考。不久用户便会明白,安装 PHP 最好的方式便是将所有 PHP 有关的文件都放入同一目录,并在系统的 PATH 环境变量中设置此目录。
将下载下来的 PHP 5.2.x 的ZIP压缩包解压到目的目录,比如 C:\php ,我是解压到了 E:\usr\php 。可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃。
PHP在Apache下的安装可以以服务器模块方式或 CGI 可执行程序方式安装,还有个 CLI 版本是为使用 PHP 命令行脚本而设计的。服务器模块比 CGI 可执行程序提供了更好的性能和更多的功能。所以我主要介绍服务器模块安装方式。
CGI 和 CLI 可执行文件以及 web 服务器模块都需要 php5ts.dll(php4ts.dll,php4中使用),必须确认该文件可以在 PHP 安装路径中找到。
对该 DLL 的搜索顺序为:
调用 php.exe 时所在的目录,或者若使用 SAPI 模块时,web 服务器的目录(例如 C:\Program Files\Apache Group\Apache2\bin)。
任何在 Windows 的 PATH 环境变量中指定的目录。
要让 php4ts.dll / php5ts.dll 能正确被搜索到,
有下面三个选择:
选择一: 复制该文件到 Windows 系统目录(C:\windows);
选择二: 复制该文件到 web 服务器的目录;
选择三: 或者把 PHP 目录(例如 C:\php )添加到 PATH 环境变量中。
为了将来更好的维护,建议使用最后一个选择,将 PHP 目录添加到 PATH 环境变量中,因为这样更便于将来升级 PHP。下面的讲解以第三个选择为例。
具体步骤:
①将 PHP 目录加入到 Windows 路径 PATH 中去
在 Windows NT,2000,XP 和 2003 下:
进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> l系统)
选择“高级”标签页
点击“环境变量”按钮
在“系统变量”栏中
找到 Path 这一项(可能需要向下滚动才能找到)
鼠标双击 Path 这一项
在最后加入你的 PHP 目录,包括前面的英文分号“;”(例如:;C:\php ,我的路径是 ;E:\usr\php )
点击“确定”并重新启动电脑
②使 php.ini 文件在 Windows 下被 PHP 所用
(这一步很重要,我实验了的,如果没有这一步,PHP 将搜寻不到 php.ini )
在 Windows NT,2000,XP 和 2003 种:
进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> l系统)
选择“高级”标签页
点击“环境变量”按钮
在“系统变量”栏中
点击“新建”按钮并在“变量名”中输入“PHPRC”,在“变量值”中输入 php.ini 文件所在的目录(例如:C:\php)
点击“确定”并重新启动电脑
2、第二步是为 PHP 设置一个有效的配置文件,php.ini 。
在 ZIP 包中有两个 ini 文件,php.ini-dist 和 php.ini-recommended 。官方手册中建议使用 php.ini-recommended ,因为在该文件中优化了性能和安全。请仔细阅读该文件中的注释,因为它从 php.ini-dist 修改而来,会对设置产生较大的影响。例如将 display_errors 设置为 off ,将 magic_quotes_gpc 设置为 off 。除了阅读这些部分,还可以学习一下 ini 设置,并手动设置每一个配置项目。如果想要最安全的设置,这是最好的方法,虽然 PHP 在默认配置下也是很安全的。
对于 PHP 的初学者来说,我建议用 php.ini-dist ,因为在该文件中将 display_errors 设置为 on,这样你在调试PHP代码时,会有错误提示,方便调试 PHP 代码调试。复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini 。比如我把将 php.ini-dist 复制到 E:\usr\php ,并命名为 php.ini 。
3、第三步,确保在 php.ini 中正确设定了 extension_dir 和 doc_root 指令的值。
这些指令依赖于 PHP 被安装的系统。打开 php.ini 文件,搜索“extension_dir”,在 PHP 4 中,extension_dir 是 extensions 而在 PHP 5 中是 ext 。因此在 PHP 5 中 extensions_dir 的一个取值例子是 “c:\php\ext”。比如我的php目录是E:\usr\php,所以我将这里的 extensions_dir 的值设置成 E:/usr/php/ext 。即:extensions_dir = E:/usr/php/ext 。
也可以选择运行一些其他的扩展,在这一步,我们建议只运行那些php工作所必需的扩展。我们将发现许多行代码例如: ;extension=php_fdf.dll 要启用这些扩展,只需要删除语句前面的分号,请注意,如果希望添加更多的扩展,应该在修改php.ini文件后重新启动web服务器。我启用了,php_fdf.dll php_gd2.dll php_imap.dll php_mysqli.dll php_mysql.dll。 如果使用ntfs,请确认运行web服务器的用户身份具有读php.ini文件的权限
注意:php.ini 中的路径可以写成“E:/usr/php/ext”,也可以写成“E:\usr\php\ext ”,就是斜线(/)与反斜线(/)的区别。php.ini 中用斜线(/)或反斜线(/)都可以。Windows 中是用斜线(\)表示路径分隔符,Unix 和 Linux 中用反斜线(/)表示路径分隔符。所以从兼容性出发,推荐用反斜线(/)。如果路径中有空格,就要用英文双引号或单引号("或')括起来,但 Unix 和 Linux 中路径是不允许包含空格的,所以 Windows 下的路径最好也不要有空格。下面的同理。
然后在 php.ini 中搜索“doc_root”,这个是你的 WEB 根目录。IIS 的 doc_root 的取值例子是 “c:\Inetpub\wwwroot”;Apache 的 doc_root 默认是安装目录的 htdocs 文件夹,比如我的是 E:\usr\Apache2.2\htdocs(我把Apache安装在 usr 目录下了)。所以我写的例子是:doc_root = E:/usr/Apache2.2/htdocs,如果路径中有空格,要用英文引号括起来。
4、配置 Apache ,让其支持 PHP 。
将以下两行加入到 Apache 的 httpd.conf 配置文件中以设定 Apache 2.0 的 PHP 模块:
# 对 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 实际所在的路径替换掉上例中的 c:/php/ 。要留意在 LoadModule 指令中用的是 php4apache2.dll 或 php5apache2.dll ,而不是 php4apache.dll 或 php5apache.dll ,后者是设计用于 Apache 1.3.x 的。
特别要注意的是,Apache2.2 版本要用 php5apache2_2.dll 。Apache 配置文件中的路径分隔符一律用反斜线(/)表示。
======================================================================================
在测试php连接MySQL的时候要把php文件夹中的“libmysql.dll”文件复制到C:\Windows\System32中