PHP 5.2.x在Windows系统中安装

网络整理 - 08-19

PHP的安装一向以自由而著称。然而越是功能强大,其内部结构就越是复杂,越是复杂,其耦合程度就越高。很多人在使用PHP的第一步-安装,就头痛不已。抱着为大家减轻痛苦的想法,试着翻译了这篇小教程。

使用PHP 5.2.x的Windows安装器程序(installer)
PHP 5.2.0让我们看到了其改进很大的Windows安装程序。与早期版本不同的是,新版安装程序能够对大多数web服务器自动安装全功能版本的PHP,这包括Apache 1.3,2.0和2.2系列,以及IIS。

下面的指南假设你已经在本地机上安装了一个web服务器。尽管已在Apache 2.2和IIS 5.1上做过了 测试,但也适用于其它web服务器。在开始测试之前,我彻底地删除了已安装的PHP,这包括所有的Windows环境变量,如PHPRC和在Windows PATH中对PHP目录的引用。这样才适于一个全新PHP的安装,但如果你打算在一个已有的PHP安装基础上升级的话可能不会成功。

新版本不适用与Windows 98,除非你从微软的官网上下载了一个MSI installer。

在Windows Vista下安装Apache和PHP时,你必须暂时屏蔽用户访问控制(User Access Control,UAC)-参看此处。

1. 转到PHP下载页面,然后在Window Binaries部分点选PHP 5.2.x Installer。注意,所下载的程序接近19MB(是zip压缩包的两倍)。从一个镜像站点下载php-5.2.x-win32-installer.msi,并将其保存在硬盘上。

2. 关闭所有的Windows程序,然后双击php-5.2.x-win32-installer.msi,执行安装向导。你会看到下面的欢迎画面。点击Next开始安装。

如果你正在适用The Essential Guide to Dreamweaver CS3或Foundation PHP for Dreamweaver 8,你还应该选上XSL。对于PHP Solutions,展开PDO,然后选择MySQL(这个是除了主插件列表中的MySQL和MySQLi以外的)。

如果你打算做大量的PHP开发,你或许还需要添加Extras,这会在你的本地硬盘上安装PEAR和PHP文档。如果还在犹豫的话,别担心。你需要对PHP有很强的了解,如果你打算使用PEAR的话,并且在线文档经常更新,所以保留一份本地版如果你很多时候离线工作的话。

选择好后,点击Next。
 
8. 向导准备安装PHP了。如果你选择的是Apache,它会提示是否需要配置Apache。点击Yes。在安装完成后,你应该看到两个警告对话框,说的是Apache配置文件和mime.type文件成功地安装了。点击OK,然后点击Finish以关闭向导。如果你选择的是IIS,则没有对话框,点击Finish就完成了安装。

9. 要使所有的改变生效,你需要重启计算机。另外,对于添加PHP目录到Windows PATH来说,这是必须的。

10. 如果你运行<?php phpinfo(); ?>,你应会看到php.ini已在C:\Program Files\PHP\php.ini中了。(在PHP 5.2.3以上版本,php.ini的位置被显示在了Loaded Configuration File中。

php.ini中重要的差别
新的Windows installer的php.ini是基于php.ini-recommended的,它比php.ini-dist有着更严格的标准-这个版本通常推荐用于开发环境。这个是更受推荐的,因为它强迫你创建更安全的脚本。然而,你需要注意如下的差别:
• 向导关闭了错误信息显示功能,而将其写入到了一个日志文件中。对于开发而言,我建议你象下面这样更改你的php.ini中的设置:
○ display_errors = On
○ log_errors = Off
• Magic quotes被关闭了。尽管许多脚本依赖于Magic quotes的使用(在单或双引号之前反斜杠的自动插入),但是我不推荐将其重新打开,因为这项功能将会在PHP 6中被永远地删除。所以的由Dreamweaver和本书所创建的脚本, 不管有无这项功能都正常地工作。
• Short open tag被关闭了。这意为着你必须使用完整的opening PHP tag (<?php)。因为在实践中推荐这样的做法,你应该不对其做出改动。Dreamweaver和本书中的脚本总是使用完整的标签。

打开sessions和uploads
Windows installer将C:\Documents and Settings\<username>\Local Settings\Temp\php\upload作为upload_tmp_dir的值;以及C:\Documents and Settings\<username>\Local Settings\Temp\php\session作为session.save_path的值。然而,安装程序不会这两个目录。结果是,文件的上传和session在这两个目录被创建之前是不会工作的。(在Windows Vista中,目录是C:\Users\<username>\AppData\Local\Temp\PHP\upload和C:\Users\<username>\AppData\Local\Temp\PHP\sessions。)

要么打开php.ini,将现有目录改名到C:\WINDOWS\Temp,或创建必要的目录C:\Documents and Settings\<username>\Local Settings\Temp (以及Vista中相应的目录)。如果你选择目录的改名,确定你在php.ini中的改动正确。安装程序没有改动原始的命令,却插入了一些新的东西。原始的命令在行末有一个分号,so are ignored。

记住,只要对php.ini做出更改就要重启web服务器。

PHP安装程序向导不会做的事情
尽管新的Windows安装程序大大简化了PHP在Windows上的安装,但是它不会改变Apache上DocumenRoot的默认位置,也不会添加index.php到DirectoryIndex命令中。你仍需手工地对httpd.conf做出改动。对于如何完成这项工作,请参看下列内容:
• The Essential Guide to Dreamweaver CS3: pages 107-109. 
• PHP Solutions: pages 30–31, steps 3 & 4. 
• Foundation PHP for Dreamweaver 8: page 68, steps 4 & 5. 
• Blog Design Solutions: pages 34–35, steps 3 & 4.