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

Windows11下PHP8配置SQL Server ODBC:odbc_connect未定义报错求助

解决PHP调用odbc_connect()报未定义函数的问题

问题描述

Fatal error: Uncaught Error: Call to undefined function odbc_connect() in C:\xampp\htdocs\simrs\tes.php:8 Stack trace: #0 {main} thrown in C:\xampp\htdocs\simrs\tes.php on line 8

使用以下PHP代码连接SQL Server时触发上述错误:

$server="myservername";
$username="myusername";
$password="mypassword";
$db="mydb";
$connection_string = "DRIVER={ODBC DRIVER 17 for SQL Server};SERVER=$server;PORT:myPort;DATABASE=$db";
$odbcConn = odbc_connect($connection_string,$username,$password);

已安装ODBC驱动(截图如下),但问题依旧:
ODBC安装器截图

问题根源

这个报错和系统ODBC驱动无关——你已经装了驱动,但PHP的ODBC扩展模块未启用,导致PHP识别不了odbc_connect()函数。

解决步骤

1. 启用PHP ODBC扩展

  • 打开XAMPP控制面板,点击Apache区域的Config,选择PHP (php.ini)打开配置文件。
  • 在文件里搜索extension=odbc,找到被注释的两行:
    ;extension=odbc
    ;extension=pdo_odbc
    
  • 删掉每行开头的分号;,启用这两个扩展:
    extension=odbc
    extension=pdo_odbc
    
  • 保存文件后,重启XAMPP的Apache服务。

2. 验证扩展是否生效

新建一个phpinfo.php文件,内容:

<?php phpinfo(); ?>

访问这个文件,搜索ODBC,如果能看到ODBC相关的配置区块,说明扩展已成功启用。

3. 修正连接字符串格式

你的连接字符串里PORT:myPort的冒号要改成等号=,否则可能导致连接失败:

$connection_string = "DRIVER={ODBC DRIVER 17 for SQL Server};SERVER=$server;PORT=myPort;DATABASE=$db";

内容的提问来源于stack exchange,提问作者abi mujianto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:25:51