Windows10本地安装SQLserver数据库连接的过程

本人设备环境:Windows10、phpstudy_pro、Nginx1.15.11、php7.3.4

一、下载并安装 ODBC 驱动

访问微软官方下载页面(微软ODBC驱动下载地址),下载适合以下条件的版本:

  • 选择 Windows 64 位 版本
  • 建议下载 ODBC Driver 17 for SQL Server(与 PHP 7.3 兼容性较好)

安装过程按默认设置即可,完成后重启电脑确保驱动生效。

二、在 PHPStudy 中配置 SQL Server 扩展

  1. 打开 PHPStudy Pro,进入「软件管理」→「PHP」→ 找到你的 PHP 7.3 版本

  2. 下载对应版本的扩展文件:

  • 访问微软官方扩展下载页:php扩展微软下载地址(推荐) 或使用 PRCL下载地址
  • 选择与 PHP 7.3、NTS(非线程安全)、x64 匹配的版本
  • 将下载的php_sqlsrv_73_nts_x64.dllphp_pdo_sqlsrv_73_nts_x64.dll复制到PHPStudy安装目录\Extensions\php\php7.3.4nts\ext文件夹中
  1. 点击「设置」→「配置文件」→ 打开php.ini

  2. 在文件中添加以下扩展配置(根据实际情况选择):

bash 复制代码
; SQL Server扩展
extension=php_pdo_sqlsrv_73_nts_x64.dll
extension=php_sqlsrv_73_nts_x64.dll

注意:确保扩展文件名与你实际下载的版本一致

三、验证配置

  1. 重启 PHPStudy 的 Nginx 服务

  2. 创建一个测试 PHP 文件(如test.php),内容如下:

php 复制代码
<?php
phpinfo();
?>
  1. 访问该文件,搜索sqlsrvpdo_sqlsrv,如果能找到相关配置说明扩展已生效

四、测试连接

使用以下代码测试 SQL Server 连接:

php 复制代码
<?php

$serverName = "localhost,1433"; // 明确指定端口号
$connectionInfo = array(
    "Database" => "你的数据库名",
    "Uid" => "sa", // 或你的用户名
    "PWD" => "你的密码",
    "CharacterSet" => "UTF-8"
);

// 建立连接
$conn = sqlsrv_connect($serverName, $connectionInfo);

if($conn) {
    echo "连接成功!";
} else {
    echo "连接失败!";
    die(print_r(sqlsrv_errors(), true));
}

?>

五、如果仍然有问题,检查

  1. 防火墙是否允许连接 SQL Server 端口(默认 1433)

  2. PHPStudy 的 PHP 版本是否确实是 7.3(32 位 / 64 位要与驱动匹配)

  3. ODBC 驱动版本是否与php版本兼容、php扩展的版本是否与php版本兼容

  4. 检查Windows系统环境变量,确保 ODBC 驱动的安装路径已添加到系统环境变量 PATH 中:

  • 按下 Win + R,输入 sysdm.cpl,打开 "系统属性 → 高级 → 环境变量"。
  • 在 "系统变量" 中找到 PATH,检查是否包含 ODBC 驱动的安装路径(通常为 C:\Program Files\Microsoft ODBC Driver 17 for SQL Server\bin\)。
  • 若未包含,点击 "编辑 → 新建",添加上述路径,然后重启电脑生效。
  1. 检查已安装的 ODBC 驱动:
  • 按下Win + R,输入odbcad32.exe打开 "ODBC 数据源管理器"。
  • 切换到 "驱动程序" 选项卡,查看是否有Microsoft ODBC Driver 17 for SQL Server
  • 若未找到,说明驱动安装失败,建议卸载后重新安装与系统架构匹配的驱动(32 位系统装 x86 版本,64 位系统装 x64 版本)。
  1. 检查 SQL Server 服务状态
  • 按下Win + R,输入services.msc,找到SQL Server (MSSQLSERVER)或你的实例服务(如SQL Server (SQLEXPRESS)),确保其状态为 "正在运行"。
  • 若服务未启动,右键 "启动" 即可。
相关推荐
m0_613856292 小时前
mysql如何利用事务隔离级别解决特定业务冲突_mysql隔离方案选型
jvm·数据库·python
Adios7943 小时前
VPR:Pitts50K和Norland数据集下载
数据库
东风破1373 小时前
DM用户权限、表、约束等对象的基本操作,SQL日志的开启介绍
数据库·sql·dm达梦数据库
收获不止数据库3 小时前
达梦9发布会归来:AI 时代,我们需要一款什么样的数据库?
数据库·人工智能·ai·语言模型·数据分析
小宇的天下3 小时前
Virtuoso GUI 界面中的关键模块定义
数据库
bqq198610263 小时前
MySQL 5.7 与 MySQL 8.0 的主要区别
数据库·mysql
Elastic 中国社区官方博客4 小时前
Elastic-caveman : 在不损失 Elastic 最佳效果的情况下,将 AI 响应 tokens 减少64%
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
互联网推荐官4 小时前
上海软件定制开发全流程拆解:需求分析、技术选型与交付管理的工程实践
大数据·数据库·需求分析
brucelee1864 小时前
Claude Code 安装教程(Windows / Linux / macOS)
linux·windows·macos
专注API从业者4 小时前
Open Claw 京东商品监控选品实战:一键抓取、实时监控、高效选品
java·服务器·数据库