做了两天的实验才终于摸清楚如何将PHP连接上sqlserver数据库,以及怎样通过修改virtualhost文件来重定向,因为走得弯路比较多所以很想分享一下这次的心路历程。

第一步:安装wamp等类似的集成软件

我使用的是Wampserver2.4-x86这个集成软件包

(我碰到的Wampserver2.4里面的都是php5.4,Wampserver2.5里面的都是php5.5)

它里面包含了Apache/2.4.4 (Win32) PHP/5.4.16 MySql/5.5

安装好这个软件包之后可以在浏览器中输入127.0.0.1这个测试地址,如果出现如下界面

就说明这个软件正常安装。

第二步:安装相关组件以及下载相关扩展

本地机要安装相应 Microsoft SQL Server Native Client (软件叫sqlncli.msi),不然的话能安装上sqlsrv扩展但是连不上数据库

安装sqlsrv之前请认真看http://www.microsoft.com/en-us/download/details.aspx?id=20098

第三步:修改wamp中相关的配置

1.\wamp\bin\apache\Apache2.4.4\bin\php.ini

添加相应扩展文件名,比如

extension=php_pdo_sqlsrv_54_ts.dll

extension=php_sqlsrv_54_ts.dll

extension=php_memcache.dll

此处说明一下,wamp中实际起作用的php.ini是wamp\bin\apache\Apache2.4.4\bin\php.ini中的那个php.ini而不是wamp\bin\php\php5.4.16中的php.ini

2.wamp\bin\php\php5.4.16\ext

添加对应的扩展源文件,比如

php_pdo_sqlsrv_54_ts.dll

php_sqlsrv_54_ts.dll

php_memcache.dll

3.wamp\bin\apache\Apache2.4.4\conf\httpd.conf

修改DocumentRoot和Directory为如下样子(此处我是把我的项目都放在e:/www目录里)

DocumentRoot "e:/www"

<Directory "e:/www">

开启加载模块

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule vhost_alias_module modules/mod_vhost_alias.so

Include conf/extra/httpd-vhosts.conf

4.wamp\bin\apache\Apache2.4.4\conf\extra\httpd-vhosts.conf

修改为以下样子,

<VirtualHost 127.0.0.1:80>

DocumentRoot "e:/www/"

ServerName localhost

</VirtualHost>

<VirtualHost 127.0.0.2:80>

DocumentRoot "E:/www/webdev2/m/trunk/web"

ServerName mm.test.fang.com

RewriteEngine on

#海外rewrite规则

RewriteRule ^/world/dgnews.html$ /world/index.php?c=world&a=dgnews [L]

RewriteRule ^/world/zynews.html$ /world/index.php?c=world&a=zynews [L]

</VirtualHost>

说明:可以将wamp\www中的两个文件复制到e:/www目录里这样可以方便以后查看相应版本信息,但是复制后要修改这个里面的index.php文件,不多,两个地方

$wampConfFile = '../wampmanager.conf';

$aliasDir = '../alias/';

将这里的相对路径改成绝对路径

5. C:\Windows\System32\Drivers\etc

修改host文件为如下形式

127.0.0.1 localhost

127.0.0.2 mm.test.fang.com

127.0.0.3 map1.test.fang.com

127.0.0.4 nmap.test.fang.com

修改之后要重启Apache,然后在地址栏中输入127.0.0.1会出现如下界面

红色部分为新添加的扩展。

看到这里只能说明你的扩展是连接上了,能不能连上sqlserver数据库还的看你之前安得Microsoft SQL Server Native Client是不是和你的操作系统匹配,最后用程序能连上数据库才说明真正的安好了。

细节:

1. php版本和你所下载的扩展是不是一致的;

2. php分为安全线程版(ts)和非安全线程版(nts),有的扩展也分这个,所以你的试一下,看哪个扩展适合

php_pdo_sqlsrv_54_ts.dll

php_sqlsrv_54_ts.dll

也有

php_pdo_sqlsrv_54_nts.dll

php_sqlsrv_54_nts.dll

3.安装sqlsrv扩展之前一定得看

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

官方文档说明

4.SQL Server Driver for PHP2.0 版本(sqlserver20.exe)

支持数据库版本:sqlserver 2005 ,sqlserver 2008

支持php版本:php5.2 , php5.3

.SQL Server Driver for PHP3.0 版本(sqlserver30.exe)

支持数据库版本:sqlserver 2005 ,sqlserver 2008, sqlserver 2012

支持php版本:php5.3 , php5.4

SQL Server Driver for PHP3.1 版本(sqlserver31.exe)

支持php版本:php5.5

总结:

微软的东西真TM嫌人

PHP安装sqlsrv和memcache扩展步骤的更多相关文章

  1. centos'的yum安装php的memcache扩展

    centos'的yum安装php的memcache扩展 博客分类: linux   让php能使用memcached服务的扩展有两种:memcache 和 memcached 1. 先安装libmem ...

  2. linux centos 安装php的memcache扩展

    一.centos6.5 yum安装php的memcache扩展 搜索memcache yum search memcache 有了,现在可以安装了 yum -y install memcached m ...

  3. 安装PHP及Memcache扩展

    安装PHP及Memcache扩展 地址:http://blog.csdn.net/poechant/article/details/6802312   1. 下载 (1)libevent 官方网页:h ...

  4. linux下给php安装memcached及memcache扩展(转)

    http://kimi.it/257.html (另外的方法)linux安装memcached及memcache扩展一.安装libevent函数库下载地址:http://libevent.org默认被 ...

  5. 安装php的memcache扩展

    linux: 安装环境 RHEL 4 Php 5.2.6 所需软件 libevent-1.4.6-stable.tar.gz (http://monkey.org/~provos/libevent/) ...

  6. window下安装php7的memcache扩展

    安装memcache:http://www.runoob.com/memcached/memcached-connection.html1.4.4 c:\memcached\memcached.exe ...

  7. linux安装memcached及memcache扩展

    一.安装libevent函数库 下载地址:http://libevent.org 默认被安装到:/usr/local/lib目录下 安装memcached之前需要先安装libevent函数库. 可以通 ...

  8. linux-memcache安装及memcached memcache扩展

    linux memcached安装yum -y install libevent libevent-deve yum list memcached yum -y install memcached m ...

  9. mac 下安装php7.1 memcache扩展

    1.下载memcache源代码文件 https://github.com/websupport-sk/pecl-memcache/archive/php7.zip 文件夹名为:pecl-memcach ...

随机推荐

  1. [洛谷P1507]NASA的食物计划 以及 对背包问题的整理

    P1507 NASA的食物计划 题面 每个物品有三个属性,"所含卡路里":价值\(v\),"体积":限制1\(m_1\),以及"质量":限制 ...

  2. Spring web flow的意义

    为什么要使用Spring web flow呢? 这里需要强调的一点就是,但凡一个技术的出现和流行,必有其适用的环境和存在的意义. Spring web flow加强了中央集权,这个该怎么理解呢?以往我 ...

  3. python-day46--前端基础之html

    一.html是什么? 超文本标记语言(Hypertext Markup Language,HTML)通过标签语言来标记要显示的网页中的各个部分.一套规则,浏览器认识的规则 浏览器按顺序渲染网页文件,然 ...

  4. Chrome DevTools 的 Sources 调试

    在 Chrome 中调试 JS 代码,那你不得不与 Chrome DevTools 的 Sources 面板打交道,所以文章主要通过介绍 Sources 面板上的各部分功能来介绍如何调试网页中的 JS ...

  5. OAF日志使用总结

    本文的完成感谢葛严大神授权使用LogUtil类,其次感谢Tavor大神的EBS OAF开发日志(见: EBS OAF开发中日志(Logging) ). 日志的使用是一门极大的学问,若读者有兴趣,可以自 ...

  6. POJ 3481 treap

    这是利用treap写的二叉排序树,只要理解其中旋转能够改变树的左右子树平衡度,即高度之差,差不多就能掌握treap树的要领了. 相对于其他高级BST,treap树实现应该算最简单了,利用的是随机树产生 ...

  7. 装载问题(load)

    装载问题(load) 问题描述: 有一批共n 个集装箱要装上艘载重量为c 的轮船,其中集装箱i 的重量为wi.找出一种最 优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱 ...

  8. 使用kubernetes的deployment进行RollingUpdate

    rolling update,可以使得服务近乎无缝地平滑升级,即在不停止对外服务的前提下完成应用的更新. replication controller与deployment的区别 replicatio ...

  9. 【转】移除HTML5 input在type="number"时的上下小箭头

    在chrome下: input::-webkit-outer-spin-button, input::-webkit-inner-spin-button{     -webkit-appearance ...

  10. POJ 3013最短路变形....

    DES:计算输的最小费用.如果不能构成树.输出-1.每条边的费用=所有的子节点权值*这条边的权值.计算第二组样例可以知道树的费用是所有的节点的权值*到根节点的最短路径的长度. 用dij的邻接矩阵形式直 ...