在Windows下成功安装PHP是毫无悬念的,但同时也是需要一些运气的。本文记录了一次成功安装的过程,希望对大家能有所帮助。本文安装的环境为Windows
7 Ultimate English version + Apache Http Server 2.2.15 + PHP 5.3.2。
1. 安装Apache Http Server
Apache Http
Server 2.2.15可以从Apache官方网站下载:
http://httpd.apache.org/download.cgi
下载下来的msi文件直接双击安装即可。
2. 安装PHP 5.3.2
本次安装使用的是PHP的压缩文件版本,具体来说是: php-5.3.2-Win32-VC9-x86。可以从http://windows.php.net/download/
下载得到。下载其它版本的时候,需要注意的是,必须要包含php5apache2_2.dll,否则的话,下载下来的文件是无法配置的。就目前PHP官方网站提供的各个版本:
·
php-5.3.2-nts-Win32-VC9-x86.zip 不包含php5apache2_2.dll。PHP不想继续支持非线程安全(non-threadsafe)的版本了?
·
php-5.2.13-nts-Win32-VC6-x86.zip 包含php5apache2_2.dll,但安装下来无法使用。
由于下载的是压缩文件版本, 解压到某个文件夹即可。这个地址在本文将被应用为PHP5_HOME。
3. 配置
3.1 配置Apache Server使其支持PHP5
编辑Apache
Server目录下的conf/httpd.conf文件,加入以下指令(建议加载最后一个LoadModule指令后):
LoadModule
php5_module "PHP5_HOME\php5apache2_2.dll"
#注意, PHP5_HOME必须按照安装环境展开, 例如:
# LoadModule
php5_module " E:\development\php\php-5.3.2-Win32-VC9-x86\php5apache2_2.dll"
#总之, PHP5_HOME\php5apache2_2.dll必须指向PHP的安装目录下的php5apache2_2.dll文件
<IfModule
php5_module>
#对于.php的请求, 我们要将其MIME设置为application/x-httpd-php, 不然会直接返回php文件的内容
AddType application/x-httpd-php .php
</IfModule>
|
3.2 配置PHP5
1). php.ini文件
检查PHP5_HOME文件夹, 你会发现php.ini-development和php.ini-production, 将其中一个重命名为php.ini(不放心后续的话,请备份文件)。php.ini需要修改的地方有:
·
extension_dir
;
Directory in which the loadable extensions (modules) reside.
;
http://php.net/extension-dir
; extension_dir
= "./"
; On
windows:
extension_dir = "PHP5_HOME/ext"
; 与前面类似, PHP5_HOME需要展开
; extension_dir = " E:/development/php/php-5.3.2-Win32-VC9-x86/ext"
|
注意,
extension_dir必须使用绝对路径, 如果按照php.ini提示的那样使用extension_dir="ext", 是不能找到extensions的。
·
根据需要启用extension
比如要启用mysql扩展, 直接打开前面的注释符号即可:
;
extension=php_mysql.dll
----->
extension=php_mysql.dll
2). 其实此时可以开启Apache Server测试了
利用下面的脚本, 可以看到当前PHP的配置情况:
将这个文件放在Apache Server下的hotdocs目录中,然后通过浏览器访问即可。但是,
这时候你会看到:
Configuration File (php.ini) Path C:\windows
Loaded
Configuration File
(none)
由此可见,php.ini文件实际上是从C:\windows下加载的,不出意外的话,C:\windows\php.ini文件是不存在的(在这种情况下, PHP实际上使用的是一些缺省的配置)。为了解决这个问题,有两种方法:
1). 将配置php.ini移到C:\Windows。这种方法自然有效,但不利于扩展,也干得不漂亮;
2).修改注册表--添加HKEY_LOCAL_MACHINE\SOFTWARE\PHP,然后在其下添加key-value对:
Key: IniFilePath
value: PHP5_HOME
重新启动Apache, 并检测环境,
应该可以看到Loaded Configuration File会有所变化。
Ps: 如果Apache出错的话,
将记录在Apache Server下的logs/error.log文件中。