当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    PHP在64位Win2003和IIS下运行设置方法

    栏目:win服务器问题汇总 时间:2019-03-08 09:44

    今天帮一客户配置他的64位windows 2003下的php运行环境的时候.发现的这个问题,通过以下方法解决,特分享下,方便需要的朋友 PHP在64位Windows2003和IIS下运行

    首先将IIS由64位模式修改为32位模式,只要一个命令即可:
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

    恢复为64位模式的命令:
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

    PHP的安装与32位模式下是一样的。

    IIS的ASP.NET需要重新注册一下才能用

    32位:
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
    64位:
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

    如果直接按照上面的步骤配置完成就可以了,下面是没有安装上面步骤操作的一些问题补充:

    配置好PHP之后居然出现错误信息:

    %1 is not a valid Win32 application
    说这不是一个有效的win32程序..
    由于系统是64位的..只好将IIS改为32位的工作模式.
    于是找到了这条命令,详情参见微软官方的帮助文档"
    Configuring IIS to Run 32-bit Applications on 64-bit Windows (IIS 6.0):
    cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”
    或者
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs
    SET W3SVC/AppPools/Enable32bitAppOnWin64 1 //这是一行命令..切勿当成2条语句执行
    上面的命令是将将IIS由64位模式修改为32位模式.
    更改完模式之后然后按照32位系统配置php即可

    如果你要从32位改为64位的.也只需要一个命令

    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs
    SET W3SVC/AppPools/Enable32bitAppOnWin64 0 //这是一行命令..切勿当成2条语句执行
    当然,在更改完之后,PHP是无法运行的了,.NET运行的的话,就需要重新注册一次
    32位:%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i
    64位:%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.40607\aspnet_regiis.exe -i