在2003年搭建PHP环境时,结合IIS(Internet Information Services)作为Web服务器是一种常见选择,尤其是在Windows Server 2003系统环境下,这一过程涉及多个步骤,包括环境准备、组件安装、配置修改以及测试验证,以下是详细操作指南。

确保系统满足基本要求,Windows Server 2003需要安装Service Pack 1或更高版本,以获得更好的兼容性和安全性,建议关闭系统自带的防火墙或配置例外规则,避免阻止后续的Web服务访问,需要安装IIS组件,通过“控制面板”进入“添加或删除程序”,选择“添加/Windows组件”,在组件列表中勾选“应用程序服务器”中的“Internet信息服务(IIS)”,确保包含“万维网服务”及其子组件,如“Active Server Pages”和“通用文件访问”,安装过程中可能需要插入Windows Server 2003安装光盘。
安装IIS完成后,需配置PHP运行环境,PHP 5.x版本在2003年较为流行,建议选择PHP 5.2.17(最后一个支持Windows 2003的稳定版本),从PHP官网下载对应的ZIP包(非安装版),便于手动配置,解压压缩包到C:\php目录(可根据需求调整路径),然后将php.ini-rename复制一份并重命名为php.ini,编辑php.ini文件,关键配置项包括:extension_dir = "C:\php\ext"
(指定扩展库目录),取消;extension=php_mysql.dll
和;extension=php_mysqli.dll
前的分号以启用MySQL支持,根据需要调整date.timezone
为Asia/Shanghai
等时区设置,确保cgi.fix_pathinfo
设置为1,以支持URL重写功能。
配置IIS与PHP的关联,在IIS管理器中,右键点击“Web服务扩展”,选择“添加一个新的Web服务扩展”,名称输入“PHP ISAPI Extension”,点击“添加”,浏览选择C:\php\php5isapi.dll(或php5apache2_2.dll,根据PHP版本和IIS版本选择),并勾选“设置扩展状态为允许”,右键点击网站或默认网站,选择“属性”,进入“主目录”选项卡,点击“配置”,在“映射”选项卡中点击“添加”,可执行文件选择C:\php\php5isapi.dll,扩展名输入.php,限制动作勾选“GET,POST,HEAD”,如果希望支持.htm和.html文件执行PHP代码,可重复上述步骤,扩展名分别改为.htm和.html,并勾选“脚本引擎”选项。
对于CGI模式的支持,需确保IIS的“ISAPI筛选器”配置正确,在网站属性“ISAPI筛选器”选项卡中,点击“添加”,筛选器名称输入“PHP”,可执行文件选择C:\php\php5isapi.dll,需配置PHP以CGI模式运行时,修改php.ini中的cgi.force_redirect = 0
,并在IIS网站属性“主目录”的“执行权限”中选择“脚本和可执行文件”。

安装并配置数据库支持(如MySQL)也是重要环节,下载MySQL 5.1.x版本(兼容Windows 2003),运行安装程序并配置root密码,安装完成后,通过MySQL Command Line Client或图形化管理工具(如phpMyAdmin)测试数据库连接,phpMyAdmin的部署需将解压后的文件放入网站目录(如C:\inetpub\wwwroot\phpmyadmin),并配置config.inc.php文件,设置$cfg['Servers'][$i]['host'] = 'localhost',$cfg['Servers'][$i]['user'] = 'root',$cfg['Servers'][$i]['password'] = '设置的密码'。
测试PHP环境是否正常运行,在网站根目录创建info.php文件,内容为<?php phpinfo(); ?>
,通过浏览器访问http://localhost/info.php,若显示PHP配置信息,则说明环境搭建成功,若出现错误,需检查php.ini路径是否正确、IIS服务是否重启、权限是否开放(确保IIS_IUSRS或Users组对C:\php目录有读取权限)。
以下是常见问题及解答:
FAQs

-
问题:访问PHP页面时提示“HTTP 404 - 文件未找到”怎么办?
解答:首先检查网站目录中是否存在对应的PHP文件,确认IIS网站绑定的IP地址和端口是否正确,在IIS管理器中检查“文件或目录访问”权限是否允许匿名用户访问,确保PHP文件的扩展名已在“应用程序映射”中正确添加,若仍无法解决,可尝试重启IIS服务或检查php.ini文件路径是否与IIS配置一致。 -
问题:PHP页面无法连接MySQL数据库,提示“Access denied”或“Can't connect to MySQL server”?
解答:首先确认MySQL服务是否已启动,可通过“服务”管理器查看,检查php.ini中extension_dir
是否指向正确的ext目录,且php_mysql.dll或php_mysqli.dll已取消注释,若使用phpMyAdmin无法登录,需确认MySQL用户名、密码是否正确,以及phpMyAdmin配置文件中的$cfg['Servers'][$i]['host']是否设置为localhost,检查Windows防火墙是否阻止了3306端口的访问,或尝试在MySQL中授权远程连接(如GRANT ALL PRIVILEGES ON TO 'root'@'%' IDENTIFIED BY 'password')。