PHP 5.2.x在Windows系统中安装
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下载页面http://www.php.net/downloads.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开始安装。
3. 第一个对话框显示的是PHP协议。你需要点选接受,然后点击Next。
4. 接下来向导会给出PHP安装目录的选项。默认的是C:\Program Files\PHP\。除非你有强烈的理由选择其它目录,否则还是接受默认值,然后点击Next。
5. 现在你可以选择与PHP一起工作的web服务器了。正如你从下图看到的那样,可供选择的很多。我选择将PHP作为Apache 2.2.x Module安装。
如果你打算使用IIS,那么选择IIS CGI。(上面的截图取自PHP 5.2.0的安装过程。在PHP 5.2.1中,IIS选项的名字有所更改。)尽管作为一个ISAPI模块运行PHP是首选,但是IIS ISAPI module选项目前会安装器中不可用。确认你的选择后点击Next。
6. 如果你在上一步选择IIS,直接跳过此步到第七步。
如果你选择了Apache,安装向导会提示你指定配置文件的所在目录。如果安装的是Apache 2.2.x,它的目录如下图所示是C:\Program Files\Apache Software Foundation\Apache2.2\conf\。浏览到对应目录后,点击OK,然后返回到安装向导,选择Next。
7. 下一个对话框让你选择安装哪个PHP插件。PHP提供了大量非核心插件,所以最好选择你需要用到的。点击对话框,展开插件树菜单。作为最小的需要,你应选择GD2, Multi-Byte String, MySQL和MySQLi。点击扩展名旁边的向下箭头,按下面截图所示选择"Will be installed on local hard drive"(将会安装在本地硬盘上)。红色X被一个硬盘图标所代替,这意味着这个插件被激活了。
如果你正在适用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.