默认不支持php连接mssql数据库,访问报错一般是:“PHP Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in”若遇到了就就知道是php连接不到mssql了。
测试环境:windwos2012+php7.0+mssql2012 其他版本安装一样,只是下载的扩展文件不一样而已。支持所有7.x版本及8.0版本,下载地址在下面。
PHP7.0连接mssql扩展下载
PHP7.0连接Mssql扩展官方下载地址: https://www.microsoft.com/en-us/download/details.aspx?id=20098
本站下载地址:
PHP7.3/7.4/PHP8.0连接Mssql扩展下载
PHP7.3/7.4/PHP8.0连接Mssql扩展下载: https://go.microsoft.com/fwlink/?linkid=2152937
本站下载:
安装步骤:
首先确认两个问题:
1、php的位数,需核实自己安装的php版本是64位?还是32(x86)位,检测方法:创建一个php探针,访问,如果现实x86则是32位,如果是x64就是64位 2、确认安装的php版本是nts还是ts的,检测方法也是打开探针,搜索nts看能否搜到,若能搜到会显示如图,搜索不到反之搜索ts即可。
开始正式安装:
下载扩展:https://www.microsoft.com/en-us/download/details.aspx?id=20098
然后勾选 SQLSRV40.exe 并下载
下载完成后双击 SQLSRV40.exe 并解压出来如图,
之前检测我安装的PHP版本是NTS+x86的,将如下两个文件复制到php安装目录的ext目录下,比如我的是:D:\SOFT_PHP_PACKAGE\php7.0\ext (请自行更换为自己的实际路径)
php_pdo_sqlsrv_7_nts_x86.dll
php_sqlsrv_7_nts_x86.dll
将PHP.ini文件复制一份,(复制的目的是备份一下,防止改错可以还原)然后打开php.ini,在扩展处添加如下扩展:
extension=php_pdo_sqlsrv_7_nts_x86.dll
extension=php_sqlsrv_7_nts_x86.dll
添加后如图:
重启IIS在访问探针看是否生效,搜索 pdo_sqlsrv 看是否能查找到,如果有则表示正常了,如果没有则表示安装异常,需逐步检查 ;
如何检测php是否成功连接MSsql?请用如下代码,请将数据库地址及数据库信息更改为自己的
<?php
$conInfo=array('Database'=>'testaaa', 'UID'=>'testaaa', 'PWD'=>'testaaaaaabss');
$conn=sqlsrv_connect('localhost', $conInfo);
//测试连接
if($conn)
{
echo "www.zfcdn.xyz提醒您,mssql连接成功";
文章评论 本文章有个评论