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扩展