windows 2003 64位系统php运行报错:1% 不是有效的 win32 应用程序

作者:美云 发布日期:2012/10/13 16:06:00 浏览次数:6195 复制
     第一次使用windows 2003 64位系统配置IIS执行PHP环境,我本以为按照以往的操作《windows2003 IIS配置支持PHP环境,星外PHP全自动安装30秒搞定》即可,谁知道事实上并没有这么轻松。问题一个接一个的出现,搞得我差点放弃。

      问题一:php运行报错:1% 不是有效的 win32 应用程序

      php环境配置完毕后,运行html成功,但运行php就报错,错误提示是“1% 不是有效的 win32 应用程序”,英文报%1 is not a valid Win32 application。第一次碰到这样的问题,经过搜索和试验,问题终于解决。

      报错原因:由于在64位操作系统里,默认配置下,IIS工作在64位模式下,这会让许多32位的应用不能正常工作。

      解决方法:

      1)进入命令提示符:开始->运行 cmd

      2)执行脚本:

      cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

      说明;%SYSTEMDRIVE%表示系统盘。例如,如果你的系统盘是C,那么上述语句改为:

      cscript c:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

      问题二:访问网页报错:Service Unavailable

      经过上面的操作后,以为大功告成了,其实不然。访问网站竟然又报错:Service Unavailable。

      解决方法如下:

      1)进入命令提示符:开始->运行 cmd

      2)执行脚本:

      %SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i

      说明:%SYSTEMROOT%\表示系统目录,一般是“C:\WINDOWS\”;v1.1.4322是默认.net版本,你也可以改为“v2.0.50727”等其他版本,关键是不要写错路径名,否则执行不成功。