【博客开篇】服务器配置:Windows2008R2+PHP5.6+SQLServer2008(X64)

现下流行LAMP,如果选择Windows服务器,那么一般都会选择IIS+Asp.Net+SQL Server(可以简称为WINS),这些配置起来,都是非常方便的。

但也有一些特殊的服务器配置,例如:Windows 2008 R2 x64 + IIS 7 + PHP + SQL Server 2008 R2 x64(简称为WIPS),将Asp.Net换为PHP,原本以为很简单的一件事,结果折腾了好几天才搞定。

为了给其他人留下一点前车之鉴,特写此文。

相关理论

1. IIS支持多种方式来扩展语言,对于IIS7来说,通过FastCGI方式来执行PHP文件

2. PHP通过配置文件中的“extension”项,扩展支持一些功能,但目前PHP本身不再提供支持MS SQL Server的组件,幸好微软提供了(但这里有个大大的陷阱)

3. 微软提供的PHP的扩展组件,支持访问MS SQL Server,需要Visual Studio C++ Redistributable的支持,这个微软也提供了

4. 还需要微软的MS SQL Server Native Client作为驱动

通过上述一环扣一环,就可以实现在Windows服务器上,在IIS+PHP的环境下,访问MS SQL Server了。

细数几个大坑

坑1:访问SQL Server 2008 R2,需要安装Microsoft SQL Server 2012 Native Client

坑2:微软提供的PHP组件,只支持32位,也就是x86平台;虽然PHP自身提供了支持x64平台的,但是这两个是配不上的

坑3:若一定要在Windows Server 64bit(x64),PHP选择x64,则不能选择IIS;替代选项是Apache,而且PHP SQL Server组件需要特殊定制的非官方版;而且Apache官方不提供Windows版了,要去第三方下载

坑4:PHP有TS、NTS之分,又有x86、x64之分;Visual Studio C++ Redistributable则有2008、2010、2012、2015之分,而且也有x86、x64之分,不同的Visual Studio C++ Redistributable版本对应不同的PHP版本。一个不小心,就掉坑里了

版本对应关系:

1、选择IIS,则PHP版本必须选择x86、nts

2、PHP版本号有VC*这样的内容,和Visual Studio C++ Redistributable对应关系是:VC9-VS2008 SP1、VC11-VS2012、VC14-VS2015

PHP版本选择x86,则Visual Studio C++ Redistributable也必须是x86;反之,则都必须选择x64

准备项

1、IIS扩展支持FastCGI,如下图,必须勾选上“CGI”选项

安装方式一(推荐)

如果服务器可以访问Internet的话,推荐选择Web Platform Installer,省心省力,但是只有5.2.17和5.3.5两个版本可以选。

1、打开网址:http://www.microsoft.com/web/platform/phponwindows.aspx

2、选择好版本,点击对应的按钮,进入如下界面,这里以5.3.5版本为例

3、点击“Install Now”,可以下载获得一个PHP53.exe文件,运行之,可以到如下界面,点击“Install”

4、这里会列出需要安装的组件,点击“I Accept”

5、接下来是漫长的安装过程,如果中途失败了,继续从第3步开始,按照相同节奏来一次,直至全部安装成功

安装成功后,可以看到具体的安装的组件。

6、安装成功后,可以通过PHP Manager来查看安装后的PHP路径

安装方式二(PHP Manager或手工)

1、安装Microsoft SQL Server 2012 Native Client,安装文件可以去微软官网下载

2、下载PHP包,一定要选择x86和nts的,并解压文件到“Program Files (x86)”目录下。

3、根据PHP包的VC版本,安装Visual Studio C++ Redistributable,请选择x86版本,VS的版本号,请参考上述对应关系,安装文件可以去微软官网下载

4、去微软官网下载Microsoft Drivers for PHP for SQL Server,也就是PHP的SQL访问组件,执行解压出DLL文件

5、将PHP的SQL访问组件,根据PHP版本号挑选出nts类型的dll,复制到PHP录下的ext子文件夹

6、推荐安装PHP Manager,可以协助更快的配置,安装文件请自行搜索去

7、启动IIS管理工具,选择“PHP Manager”

8、通过PHP Manager,通过“Register new PHP version”,选择PHP目录下的php-cgi.exe

9、启动PHP Extensions,点击“Enable or disabled an extension”,启动PHP的扩展组件,这样就可以启动PHP访问SQL的组件

10、其他PHP配置项,建议直接编辑PHP.INI文件,根据你的实际情况,增加如下内容:

[WebPIChanges]
error_log=C:\Windows\temp\PHP53_errors.log
upload_tmp_dir=C:\Windows\temp
session.save_path=C:\Windows\temp
cgi.force_redirect=0
cgi.fix_pathinfo=1
fastcgi.impersonate=1
fastcgi.logging=0
max_execution_time=300
date.timezone=Asia/Shanghai
extension_dir="C:\Program Files (x86)\PHP\v5.3\ext\"

[ExtensionList]
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_xmlrpc.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_imap.dll
extension=php_tidy.dll

extension=php_pdo_sqlsrv.dll

extension=php_sqlsrv.dll

11、这时候就可以开始检测结果,打开PHPinfo文件,在“Registered PHP Streams”,我们可以看到sqlsrv,这就代表PHP可以访问SQL Server了。

至此,我们就成功的完成了Windows 2008 R2 x64 + IIS 7.0 + PHP 5.3.2 + SQL Server 2008 R2 x64的环境配置了。

当然,这样的环境,其实是运行在32位x86的环境中。

如果真的要运行在64位x64的环境中,则必须是Windows 2008 R2 x64 + Apache 2.4 + PHP 5.3.2 + SQL Server 2008 R2 x64这样的环境配置,这个以后再补写相关记录了。

时间: 2024-10-13 16:18:55

【博客开篇】服务器配置:Windows2008R2+PHP5.6+SQLServer2008(X64)的相关文章

博客开篇:随笔《从windows到linux的转变》。

在QQ群里讨论到了WINDOWS和LINUX.MAC,用手机码了如下回复,索性转过来当做博客的开篇.:) unix 和linux 在外很火的主要原因是开源,国外崇尚自由的精神是从出生就在细胞里的,而windows在中国,主要是赢在了简单易用和先入为主,我们不是发明计算机的国家,没有走过开发的阶段,而是从用户开始的,作为用户,同样两个系统,一个装软件点点指头就解决,一个要#rpm -ivh,其实就算到今天都不难发现和选择.然而今天技术人员越来越多的起来后,加之internet导致的信息大爆炸革命,

博客开篇

强迫症,做事写东西前总要有个开篇前言的东西 . 我的出发点其实是由比较引起.发现自己作为大四即将毕业升入研究生的计算机系学生动手能力太菜,技术不达标,业务水平实在有限,外加上读到同学的博客.就觉得有必要有点外在的手段来监督自己有意识的提升自己的技术,而博客园真心是个不错的平台. 大学四年不知怎么过的,反正现在懂的技术有限.往事翻片儿不管,从现在开始有计划的不断学习吧,就当是读书报告学习笔记之类的东西,主要是记录.监督和分享.本着对以后用来吃饭的领域的认真态度,我觉得豆瓣每月两次更新,尽量做到每周

博客开篇之编程入门感想

最早接触编程语言应该是VB,当时貌似是高中,大致会设计些计算类的小程序.利用随机数和控件完成些小游戏(像猜拳啊,打地鼠啊= =)以及利用画笔画正弦函数和钟摆运动.不过就没有深入进去了,对编程的理解也就仅仅处使用简单的语句的阶段.本科的时候也是因为课程需要,了解了基本的C++知识.数据结构和简单的数据库操作,考了个二级证书,编写的最长代码也许只有不到三四百行,只会使用,完全还是皮毛的皮毛.而后因为项目缘故,需要更深入地学习编程知识,开始使用VS2010,学习c#,了解.NET平台,了解dev的XA

Linux系列博客开篇

自从决定做开发,已经好久没有配置过Linux系统了.再不尝试着写一下博客,可能真的要还给老师了.本着一边复习,一边记录的原则,将一些Linux的配置和维护记录在此,不要贻笑大方才好. 为了完成接下来的这些博客,我可能会参考众多前辈的文章,我会尽量留下参考的出处,但是要是因为某些原因未能留下出处,还请原作者见谅.您可以联系我,我将及时改正. 按照我的计划,我会从Linux的安装.基本配置.常用命令开始,一直写到各种网络服务以及Linux存储集群.数据库集群等.基本思路按照尚观主机班的培训思路,不过

万雨在公网博客-开篇

大家好,我是万雨现在大四,即将离开西安的学校,前往武汉工作.平时喜欢折腾一些diy设计:linux平台(fedora.ubuntu).java.android.MATLAB.python.硬件设计开发. 当然,我也刚开始进入软件相关领域,也是小白进门.最近(2016.04.04)忙着毕设和学习linux系统.python开发.所以,我会将我的相关学习经历发布在博客园中,以后如果有机会的我还会将我的其他的硬件软件以及读书学习的相关体验发布.当然写这个博客也主要是想要交一些技术开发方面的朋友,欢迎大

博客开篇——应用Markdown编辑器呈现样式和内容

刚刚开通博客,一直了解Markdown便捷的编写能力,正好博客园支持Markdown编辑器,写此篇练习Markdown的各种[标记]语法.本文内容有参考文章 博客园Markdown编辑器指南 Markdown编辑器 在未提供Markdown的博客中,通常使用安装好的Markdown编辑软件来编写内容,然后将导出的html文档复制到该博客的内容编辑栏中.常用的工具有MarkdownPad 2和Sublime Text,但MarkdownPad 2 要付费. 笔者使用博客园提供的页面Markdown

博客开篇,数据转移

原因 原先站点 https://me.lucoder.com 需要维护域名费用,一年50块钱,主机费用,一年100以上,然而却没有多少流量,虽然博客就是记事本功能,但是一点访问量都么有感觉似乎是自己做东西没有任何价值.另外最坑的就是oss服务,原先的https://oss.lucoder.com 图像保存在又拍云,然而阿里的服务器马上到期,备案号岌岌可危,备案号挂了,这个oss基本又废了,在博客园自带图像cdn,美滋滋. 为啥不选择GitHub Pages 总觉得这玩意儿太慢了,如果你有需要可以

新博客开篇

从去年暑假重拾编程到现在,自己也写了很多东西,造了一点轮子了,觉得有必要在这里分享一下自己一步一步的成果,不过说是分享,我觉得这里多半会变成我一个人自言自语的地方,毕竟大神这么多,不会在意我这种菜鸟,对吧. 我将主要在这里放一些自己造轮子的成果和一些感想,代码总会是比文字要多的,这里也不会放一些类似教程的东西,毕竟东西自学之后再去看别人的总比直接听别人讲的要印象深刻嘛. 话说自己新一代的用户名还没有最终定下来,暂定指针pointer,这个单词肯定会被各种占用,所以加一些什么样的前后缀还是一个值得

博客开篇。

[README.MD]: this is a blog for [email protected] just about HTML .Css . JavaScript and  a little PHP. Practice is most important to learn and master all knowledge, only in this way , can we make our career better and better .