You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP连接SQL Server异常:本地IP连接失败+远程ODBC驱动缺失

SQL Server远程连接PHP脚本问题排查求助

问题背景

我有一段用于连接SQL Server的PHP脚本,分别部署在服务器本地和远程主机上,目标是实现远程连接SQL Server。脚本代码如下:

//SET CONNECTION TO MSQL
$serverName = "";
$uid = "user";
$pwd = "password";
$databaseName = "database";

//BUILD CONNECTION ARRAY
$connectionInfo = array( "UID"=>$uid,
                         "PWD"=>$pwd,
                         "Database"=>$databaseName);

/* Connect using SQL Server Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);


//TEST CONNECTION
if( $conn ) {
echo "Connection established.<br />";

}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}

本地连接异常情况

本地运行时,设置$serverName = "SRV\SQLEXPRESS";可正常连接;改为本地IP后连接失败,报错:

Connection could not be established.
Array ( [0] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][ODBC Driver 17 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server

远程主机问题

已确认端口开放、防火墙允许本地及远程连接,但远程主机运行脚本时提示找不到ODBC驱动。

已尝试操作

经尝试设置$serverName = "tcp:192.168.0.242, 51484";后本地可连接,但SQL配置管理器显示默认端口为1433;通过公网IP远程连接仍提示ODBC驱动缺失,求助排查问题及测试方向。


排查方向与测试建议

一、本地IP连接失败问题

  • 检查SQL Server的TCP/IP协议是否启用:打开SQL Server配置管理器,展开SQL Server网络配置,找到对应实例的协议,确保TCP/IP状态为已启用。
  • 修正端口连接字符串:注意tcp:格式的连接字符串中,端口号前不要加空格,应改为tcp:192.168.0.242,51484。
  • 确认TCP端口配置:在TCP/IP属性的IP地址标签中,查看IPAll的TCP端口是否为实际监听的端口(51484),而非配置管理器显示的默认1433。

二、远程主机ODBC驱动缺失问题

  • 安装匹配版本的ODBC驱动:远程主机必须安装Microsoft ODBC Driver 17 for SQL Server(与本地使用的驱动版本一致),根据系统架构(32/64位)选择对应安装包。
  • 验证PHP扩展状态:在远程主机上执行phpinfo(),检查sqlsrv扩展是否正常加载,且版本与ODBC驱动兼容。
  • 测试远程网络连通性:在远程主机上用telnet 公网IP 端口或PowerShell命令Test-NetConnection 公网IP -Port 端口,确认能正常连通SQL Server的监听端口。

三、端口不一致问题

  • 查询SQL Server实际监听端口:在SQL Server实例上执行以下SQL语句,获取当前实例的实际TCP端口:
    SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID;
    
  • 用系统命令验证端口:在SQL Server所在服务器执行netstat -ano | findstr "sqlservr.exe",找到对应进程的监听端口,确认是否为51484。

内容的提问来源于stack exchange,提问作者Björn C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:03:30