PHP安装sqlsrv和memcache扩展步骤
做了两天的实验才终于摸清楚如何将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扩展步骤的更多相关文章
- centos'的yum安装php的memcache扩展
centos'的yum安装php的memcache扩展 博客分类: linux 让php能使用memcached服务的扩展有两种:memcache 和 memcached 1. 先安装libmem ...
- linux centos 安装php的memcache扩展
一.centos6.5 yum安装php的memcache扩展 搜索memcache yum search memcache 有了,现在可以安装了 yum -y install memcached m ...
- 安装PHP及Memcache扩展
安装PHP及Memcache扩展 地址:http://blog.csdn.net/poechant/article/details/6802312 1. 下载 (1)libevent 官方网页:h ...
- linux下给php安装memcached及memcache扩展(转)
http://kimi.it/257.html (另外的方法)linux安装memcached及memcache扩展一.安装libevent函数库下载地址:http://libevent.org默认被 ...
- 安装php的memcache扩展
linux: 安装环境 RHEL 4 Php 5.2.6 所需软件 libevent-1.4.6-stable.tar.gz (http://monkey.org/~provos/libevent/) ...
- window下安装php7的memcache扩展
安装memcache:http://www.runoob.com/memcached/memcached-connection.html1.4.4 c:\memcached\memcached.exe ...
- linux安装memcached及memcache扩展
一.安装libevent函数库 下载地址:http://libevent.org 默认被安装到:/usr/local/lib目录下 安装memcached之前需要先安装libevent函数库. 可以通 ...
- linux-memcache安装及memcached memcache扩展
linux memcached安装yum -y install libevent libevent-deve yum list memcached yum -y install memcached m ...
- mac 下安装php7.1 memcache扩展
1.下载memcache源代码文件 https://github.com/websupport-sk/pecl-memcache/archive/php7.zip 文件夹名为:pecl-memcach ...
随机推荐
- php--------合并2个数字键数组的值
开发中遇到了,数组合并并去除重复这个功能,查阅资料, 找到了一个方法,分享一下. <?php /** * PHP合并2个数字键数组的值 * * @param array $arr1 * @par ...
- Confluence 6 LDAP 用户组结构设置
用户组对象类(Group Object Class) 这是在 LDAP 用户组对象中使用的类的名字.例如: groupOfUniqueNames group 用户组对象过滤器(Group Object ...
- hdu多校2C
题意:找多条路径覆盖所有的边,求最小路径数,要求输出路径 题解:新建一个点n+1,所有奇点向它连边,然后跑欧拉回路,最后把新加的边删去,一段连续的边就是一条路径 = =但是由于太久没写欧拉回路以及之前 ...
- 10. Regular Expression Matching *HARD*
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- 体验异步的终极解决方案-ES7的Async/Await
阅读本文前,期待您对promise和ES6(ECMA2015)有所了解,会更容易理解.本文以体验为主,不会深入说明,结尾有详细的文章引用. 第一个例子 Async/Await应该是目前最简单的异步方案 ...
- 利用CNN进行流量识别 本质上就是将流量视作一个图像
from:https://netsec2018.files.wordpress.com/2017/12/e6b7b1e5baa6e5ada6e4b9a0e59ca8e7bd91e7bb9ce5ae89 ...
- React脚手架create-react-app+elementUI使用
一.介绍 1.create-react-app是FaceBook官方发布了一个无需配置的.用于快速构建开发环境的脚手架工具. 2.优点 a.无需配置:官方的配置堪称完美,几乎不用你再配置任何东西,就可 ...
- 我所理解的event loop
灵魂三问 JS为什么是单线程的 我们都知道,JS是单线程的语言,那为什么呢?我的理解是JS设计之初就是为了在浏览器端完成DOM操作和一些简单交互的,既然涉及到DOM操作如果是多线程就会带来复杂的同步问 ...
- Scrapy-redis实现分布式爬取的过程与原理
Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取.但是当我们要爬取的页面非常多的时候,单个主机的处理能力就不能满足我们的需求了(无论是处理速度还是网络请求 ...
- 如何搭建.NET Entity Framework分布式应用系统框架
一. 前言 ADO.NET Entity Framework(以下简称EF)是微软推出的一套O/RM框架,如果用过Linq To SQL的人会比较容易理解,因为Linq To ...