64位windows2008R2 + sqlserver2005 + iis7.5 + php环境配置

别问我为什么为什么选这样的环境,客户任性。。。

程序终于成功跑起,列一下步骤及遇到的疑难问题:

  1. IIS安装方式

    打开“服务管理器”,角色->添加角色,选“IIS”,全选“应用程序开发”,因为接下来要使用PHP的CGI,下一步下一步到完成。

  2. SQLServer2005安装方式

    经测试,x64或x86版本均可正常安装,未遇到棘手问题,也不影响连接使用。

  3. SQL Server Management Studio Express安装方式

    下载x64版本的SSMSE,安装过程中我遇到29506错误,死活安装不上,解决办法:

    新建文本文件,扩展名改为cmd,编辑,写入代码:

     msiexec /i D:\SQLServer2005_SSMSEE_x64.msi
    

    代码中的文件路径自行替换;

    然后,右击该cmd文件,选择“以管理员身份运行”;

    问题KO。

  4. IIS添加PHP支持

    1. 微软直接提供了PHPManagerForIIS,下载安装,快捷方便,记得装x64;
    2. 下载PHP,版本自行选择,版本不同后面会遇到sqlsrv的驱动问题,后面会说到;
    3. 解压PHP并配置php.ini;
      timezone,extension这些都不防碍php执行,只是视具体项目确定参数;
      我遇到一个坑爹的错误是上传出错的,upload_tmp_dir="C:\Windows\Temp"作为上传临时目录居然无效,只能手动设了一个目录,并给Everyone赋予写权限;
    4. 在IIS中找到PHPManager,打开,“register new php version”,选择上一步解压的php-cgi.exe;
  5. PHP需要Microsoft Visual C++ 2008 Redistributable的支持,否则php执行会出现FastCgi错误,我就被坑了好久;

    注意要装vcredist_x86而非x64,因为php是32位的,否则继续报错,坑死人。。。

  6. 安装sqlsrv驱动,使PHP能连接SQLServer2005;

    测试使用2.0或3.0驱动均可,而2.0需结合SQL Server 2008 Native Client,而3.0需结合SQL Server 2012 Native Client

    http://www.microsoft.com/en-us/download/details.aspx?id=20098

    注意:DLL文件中数字52,53,54分别代表PHP版本5.2,5.3,5.4,nts和ts分别代表阻塞和非阻塞,iis请用vc9,apache请用vc6,请参考你的php版本选择对应的两个dll并写进php.ini的extension中;

  7. 安装SQL Server 2012 Native Client,或SQL Server 2008 Native Client,具体装哪个看上一步你怎么选。

    我只罗列了我遇到的问题,希望下次配置能顺利一些。

若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏