php5.6sql,php5.6 连接SQL SERVER

PHP Fatal error: Call to undefined function sqlsrv_connect() in

php链接sqlserver出现该错误;

原因是:php5.3 及以上版本去掉了以前的链接方式,要想使用,就需要使用PDO或者SQLSVR ,需要加上微软提供的dll扩展。之前在网上看到有写到php5.5链接SQL SERVER,觉得不够详细,

所以自己再写一个php5.6的。 之前看到php5.5教程 http://blog.csdn.net/xocom/article/details/45840725

微软官网提供的dll不支持64位,这里有个非官方版本的下载链接 http://download.csdn.net/detail/tan1103/8771927

下载好之后解压,其中x64文件夹里面的是支持64位系统的,我们用的是php5.6版本

用到两个文件

php_sqlsrv_56_nts.dll 和 php_pdo_sqlsrv_56_nts.dll

或者

php_sqlsrv_56_ts.dll 和 php_pdo_sqlsrv_56_ts.dll

那是用ts?还是nts呢?

61e33d93f28429b6c86193650cf0cb03.png

ts和nts的意思是:是否线程安全。和php版本有关,用phpinfo();查看,打印出phpinfo,找到Thread Safety,如果是disabled就是非线程安全,就用nts版本;

如果是enable就用ts版本,我的是nts。

4b8d5ffa5dbab1098e44ee6fefb72bdd.png

然后把相应版本的dll文件(我的是php_sqlsrv_56_nts.dll 和 php_pdo_sqlsrv_56_nts.dll)复制到php5.6\ext(扩展程序所在的文件夹,大多就在php的目录的下);

然后在php.ini引进扩展,下面是我的引用路径,D:\php5.6\ext\也是的扩展文件所在目录

extension=D:\php5.6\ext\php_sqlsrv_56_nts.dll

extension=D:\php5.6\ext\php_pdo_sqlsrv_56_nts.dll

(我的php.ini的extension_dir定位到C:\盘,所以我需要用绝对路径引用,也可以修改成extension_dir=ext,然后就相对路径引用也行了,

如extension=php_sqlsrv_56_nts.dll,大多数是不用修改的,反正用绝对路径准没错)

最后重启服务(是apache的就重启apache,iis就重启iis),就OK了。

转载:http://blog.csdn.net/qq_27396589/article/details/53374769

原文:http://www.cnblogs.com/zhuxiaohui/p/7102172.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值