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

求助:XAMPP(3.2.2)+PHP7.2.4环境下SQL Server驱动连接无响应

排查PHP连接SQL Server无响应问题的实用步骤

嘿,刚接触编程就碰到数据库连接的坑很正常,我帮你一步步捋清楚可能的问题点:

1. 先确认驱动和PHP环境完全匹配

你用的是PHP7.2.4 x86线程安全(TS)版本,这一步得盯紧:

  • 先建个简单的phpinfo.php文件(内容写<?php phpinfo(); ?>),访问后找Thread Safety项,如果显示enabled,那你选的ts_x86驱动是对的;要是显示disabled,就得换成nts(非线程安全)版本的驱动。
  • 另外,SQL Server驱动和SQL Server版本也得兼容,比如你连的是SQL Server 2012及以上,选对应PHP7.2的驱动版本就没问题,重点还是先确保和PHP的版本、位数、线程安全属性完全匹配。

2. 验证php.ini的配置真的生效了

XAMPP里容易踩的坑是有多个php.ini文件,比如Apache用的和CLI用的,你得确保改的是Apache加载的那个(一般在xampp/php/php.ini):

  • 打开这个文件,确认驱动的配置行前面没有;(注释符):
    extension=php_sqlsrv_72_ts_x86.dll
    extension=php_pdo_sqlsrv_72_ts_x86.dll
    
  • 改完一定要重启Apache!然后再去phpinfo()里搜sqlsrv和pdo_sqlsrv,能找到对应的模块信息,说明驱动加载成功;找不到的话,要么是驱动放错了路径,要么是版本不兼容。

3. 检查连接参数是不是真的对

你的代码里$servename = "new",这个服务器名很容易错:

  • 如果是本地的SQL Server实例,一般是localhost或者.\SQLEXPRESS(默认的Express版本是这个);要是远程服务器,得写清楚IP/主机名+实例名,比如192.168.1.100\SQLEXPRESS。
  • 先拿SQL Server Management Studio(SSMS)用同样的账号、密码、数据库名连一遍,要是SSMS都连不上,那问题肯定在数据库那边,比如没开远程连接、TCP/IP协议没启用,得先把数据库端的问题解决。

4. 给代码加个错误捕获,别让它“沉默”

原代码没做错误处理,无响应大概率是连接超时了,改改代码,加个超时设置和错误输出:

<?php
$servename = "new";
$username = "user";
$password = "tree";
$database = "tree";

// 加个10秒超时,避免一直卡着
$connectionInfo = array(
    "Database" => $database,
    "UID" => $username,
    "PWD" => $password,
    "LoginTimeout" => 10
);

$conn = sqlsrv_connect($servename, $connectionInfo);

if ($conn === false) {
    // 输出具体错误信息,方便排查
    die(print_r(sqlsrv_errors(), true));
} else {
    echo "连接成功啦!";
    sqlsrv_close($conn);
}
?>

这样要是连接失败,会直接显示具体的错误原因,不会再无响应了。

5. 别漏了系统依赖:ODBC驱动

SQL Server的PHP驱动得靠Microsoft ODBC Driver for SQL Server才能跑,你得装对应版本的:

  • 对于PHP7.2,推荐装ODBC Driver 17 for SQL Server,它向下兼容大部分SQL Server版本。
  • 重点:你的PHP是x86版本,所以一定要装x86版本的ODBC驱动,装x64的话驱动根本加载不起来!

要是这些步骤都试过了还是有问题,把phpinfo()里sqlsrv相关的信息,还有代码输出的错误内容贴出来,我再帮你揪问题~

内容的提问来源于stack exchange,提问作者Legend Whirlwind

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:13:31