PHP PDO连接SQLSERVER报错:SQLSTATE[08001]: [Microsoft][SQL Server Native Client 10.0]TCP Provider

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP PDO连接SQLSERVER报错:SQLSTATE[08001]: [Microsoft][SQL Server Native Client 10.0]TCP Provider相关的知识,希望对你有一定的参考价值。

php PDO连接SQLSERVER报错:SQLSTATE[08001]: [Microsoft][SQL Server Native Client 10.0]TCP Provider:由于目标计算机积极拒绝,无法连接。

参考技术A SQL 的远程访问是否允许,相关端口你排查一下,
及防火墙设置

php以pdo方式连接sqlserver,无法开启sqlsrv扩展

首先,PHP连接sqlserver代码如下:

$host="aaaaa";
$dbname="aaaaa";
$user="aaaaa";
$pass="aaaaa";
try {
    # MS SQL Server and Sybase with PDO_DBLIB
    $dbh = new PDO("sqlsrv:Server=$host;Database=$dbname", $user, $pass);
} catch(PDOException $e) {
    echo $e->getMessage();
}

在本地环境测试是正常的,换到服务器环境(用phpmanger for iis在Windows iis上部署的php环境,同时支持php和asp)就出错,提示"无法开启此扩展"之类,解决方法如下:
1.服务器是64位windows2008,官网的sqlsrv均无法加载成功,只能使用非官方编译过后的64位版本,链接:
http://robsphp.blogspot.co.uk/2012/06/unofficial-microsoft-sql-server-driver.html
或者
http://pan.baidu.com/s/1dDIRpJF
2.开启扩展后,还需要下载 Microsoft ODBC Driver 11 for SQL Server
链接:https://www.microsoft.com/en-us/download/details.aspx?id=36434。







以上是关于PHP PDO连接SQLSERVER报错:SQLSTATE[08001]: [Microsoft][SQL Server Native Client 10.0]TCP Provider的主要内容,如果未能解决你的问题,请参考以下文章

php以pdo方式连接sqlserver,无法开启sqlsrv扩展

php tp5 连接sqlserver配置

PHP PDO 使用 SSL 连接到 MS SQLServer Express

tp5连接SQLServer数据库及多个数据库切换-靳宇灵

PHP7.X连接SQLSERVER数据库(CENTOS7)

PHP PDO 连接到具有集成安全性的 SQL Server?