1.查看php是否是线程安全版本
查看phpinfo,找到Thread Safety,查看值为多少,disabled为非线程安全,enabled为线程安全版本。
2. 从微软官网上下载sqlsrv扩展
百度网盘:
SQLSRV40.EXE
SQLSRV32.EXE
微软官网:
下载链接地址有四个文件:
•SQLSRV30.EXE
•SQLSRV31.EXE•SQLSRV32.EXE•SQLSRV40.EXE分别支持不同的PHp版本
•Version 4.0 supports PHP 7.0+
•Version 3.2 supports PHP 5.6, 5.5, and 5.4•Version 3.1 supports PHP 5.5 and 5.4•Version 3.0 supports PHP 5.4.
下载之后解压:
根据php版本号找到相应的驱动版本,其中包含n的为非线程安全版。
例如我的php版本为5.6线程安全版本,则应该复制php_sqlsrv_56_ts.dll和php_pdo_sqlsrv_56_ts.dll复制到php目录的ext文件夹下。
之后查看phpinfo可以看到扩展已经安装好了。
3. 修改php.ini配置文件:打开php.ini配置文件,在其中加上复制到php扩展中的dll库
extension=php_sqlsrv_55_nts.dll
extension=php_pdo_sqlsrv_55_nts.dll
重启apache或nginx服务器即可。
4. 安装odbc驱动
百度网盘链接:
微软:
5. 安装成功
连接测试:
$servern="localhost";$coninfo=array("Database"=>"dbo","UID"=>"guansixu","PWD"=>"guansixu");$conn=sqlsrv_connect($servern,$coninfo);if( $conn ) { echo "Connection established.";}else{ echo "Connection could not be established."; die( print_r( sqlsrv_errors(), true));}sqlsrv_close($conn);
PDO方式:
$servern="localhost";$coninfo=array("Database"=>"dbo","UID"=>"guansixu","PWD"=>"guansixu");$conn=sqlsrv_connect($servern,$coninfo);if( $conn ) { echo "Connection established.";}else{ echo "Connection could not be established."; die( print_r( sqlsrv_errors(), true));}$val=sqlsrv_query($conn,"select * from usertable");while($row=sqlsrv_fetch_array($val)){ echo $row[1]."";}sqlsrv_close($conn);
附上驱动打包下载: