windows 2003 x64位 中iis6.0配置 php5.0 + mysql环境

时间:2022-06-27 20:30:14

今天碰到一个棘手的问题,就是在一台装有64位windows 2003的服务器装装php环境,首先是按照下面的步骤安装:

 

      首先是将服务器64位的iis切换成32位的iis,因为最新的php都是32位的,网上有人自己编译的64位版本,作为服务器也不能轻易使用。

ASP.NET 2.0,32 位版本
要运行 32 位版本的 ASP.NET 2.0,请按照以下步骤操作: 1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
2. 键入以下命令启用 32 位模式:
cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3. 键入以下命令,安装 ASP.NET 2.0(32 位)版本并在 IIS 根目录下安装脚本映射:
%SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i
4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607(32 位)的状态设置为允许。
ASP.NET 2.0,64 位版本
要运行 64 位版本的 ASP.NET 2.0,请按照以下步骤操作: 1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
2. 键入以下命令禁用 32 位模式:
cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
3. 键入以下命令,安装 ASP.NET 2.0 版本并在 IIS 根目录下安装脚本映射:
%SYSTEMROOT%Microsoft.NETFramework64v2.0.50727aspnet_regiis.exe -i
4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607 的状态设置为允许。
注意:ASP.NET 2.0 的内部版本可能随当前发行的内部版本的变化而变化。这些步骤适用于内部版本 2.0.40607。
  然后按照下面的步骤将php配置好:

1.         获取php5.2.9.zip

2.         php5.2.9.zip中的所有文件解压到一个目录,如C:php5

3.         C:php5文件夹中多有的 .dll 的文件复制到  C:WINDOWSsystem32
如果是win2000 则复制到C:WINNTsystem32

4.         C:php5php.ini-dist文件复制到C:WINDOWS
且将文件名由php.ini-dist 更改为php.ini

5.         更改C:WINDOWSphp.ini 文件中配置
extension_dir = "./"  更改为extension_dir = "C:php5ext"
  ;extension=php_mysql.dll  ; 删除

6.         IIS设置支持php

           1>     IIS -> 默认网站 右键 -> 属性 -> 主目录 -> 配置 -> 应用程序配置-> 添加
        windows 2003 x64位 中iis6.0配置 php5.0 + mysql环境

2)        IIS -> Web服务扩展 -> 允许 所有未知ISAPI扩展

 

 

 

 

此时用了一个phpinfo看了一下,居然出来了。于是拿了一个调用mysql的php程序测试了一下,居然出现 Fatal error: Call to undefined function mysql_connect()

于是半天时间也就这样搭进去了。

 

windows 2003 x64位 中iis6.0配置 php5.0 + mysql环境

 

在网上翻遍了中英文的网页,也没有找到很有效的解决方法。网上讨论这个问题的帖子实在太少,大多都在讨论如何把php装到64位的系统上,估计大家装了之后,都没有用mysql吧。

正在郁闷的时候,突然想起了这个文件夹 C:WINDOWSSysWOW64, 这个就是windows on windows。64位才有的。 于是将 c:php5libmysql.dll 拷贝到  C:WINDOWSSysWOW64 顺利的解决了问题!!