windows下安装apache、php、sql server



       下面的内容是如何在windows(8.1 64位)下安装apache、php、sql server 2008 R2。


       首先是安装sql server,这个很简单,可能遇到的问题是系统没有.NET 3.5。如果没有,那么在安装sql server时安装程序会提示,根据提示下载安装就好了。并没有什么太大难度。

        这里附上一个安装过程:http://jingyan.baidu.com/article/86fae3469e6c4b3c48121a76.html


       然后是apache和php。 我是出于学习和测试的目的,所以选择了集成环境:XAMPP 。选择对应操作系统版本的XAMPP即可。注意,安装的时候路径不要有中文。建议直接安装在C盘(或者其他盘的根目录下)。

      因为我们使用的数据库是sql server,所以安装时只需要勾选apache、php就好了。并没有什么难度。

windows下安装apache、php、sql server_第1张图片


       此时,如果启动Apache,是启动不了的。因为80端口是被sql server给占用的。你可以选择更改端口,也可选择让sql server不占用80端口。

       更改端口,点击Apache右侧的按钮Config -> Apache(httpd.conf),进入Apache的配置文件,搜索 "Listen",将默认的"80"改为其他的端口,如8080。

windows下安装apache、php、sql server_第2张图片


       此时,即可启动Apache,PHP也可以直接使用了。


       为了使我们的PHP能够顺利连接sql server,还要做一些配置。

      

       首先,下载sql server的扩展文件,php_pdo_sqlsrv_56_ts.dll和php_sqlsrv_56_ts.dll。当然,因为我的系统是win 8.1 64位,php版本为5.6.8,所以需要的是这两个文件。如果你的版本比我低,可以选择对应的版本。这里贴上下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098 ,下载完成后将对应版本的.dll文件放入php的扩展目录下。我的是C:\xampp\php\ext 。

      拷贝完成之后,将这两个扩展文件加载进php。在php.ini文件中加如下2句:

extension=php_sqlsrv_56_ts.dll
extension=php_pdo_sqlsrv_56_ts.dll


       一定要注意顺序,我就是因为顺序错了,结果弄了很久才搞定。

       然后启动apache即可。

       因为我是裸机装的,所以系统报错,说我的msvcp110.dll缺失。


       在百度上搜了很久,下载了好多版本,期间还遇到不少坑爹的事情(哎,我就不说那些提供下载的网站上广告多么多,下载链接给的居然是各种setup.exe了)。

       这里直接给出下载链接吧:http://cn.dll-files.com/msvcp110.dll.html ,在这个网站里直接下载zip文件,然后解压,并将msvcp110.dll文件拷贝到 C:\Windows\System32 文件夹和C:\Windows\SysWOW64 文件夹(64位电脑)。(很奇怪,微软为什么不把这个文件叫System64,而叫WoW64,你们美国人真会玩儿)。

        

      现在Apache可以正常启动了。

      这里再贴上一段代码,测试一下有什么问题没。

"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.
"; }else{ echo "Connection could not be established.
"; die( print_r( sqlsrv_errors(), true)); } ?>


        这样当然是不行的。因为还缺少一样,那就是微软的sql server DOBC。这在你访问上面写的页面是就报错告诉你俩。错误信息里面会告诉你下载地址,然后去哪个地址里下载就好了。

        这里贴上连接:https://www.microsoft.com/en-us/download/details.aspx?id=36434

        可能版本不一样,要按错误提示里的来。




          


你可能感兴趣的:(经验分享)