宝塔面板 PHP 连接 SQL Server 完整教程
概述
在 Windows 宝塔面板环境下,配置 PHP 连接 SQL Server 数据库的完整步骤,包括驱动安装、PHP 扩展配置和连接代码。
第一步:安装 PHP
在宝塔面板中安装 PHP 7.4 版本(推荐此版本,sqlsrv 扩展兼容性最佳)。
第二步:开启 SQL Server 扩展
打开 PHP 配置文件 php.ini,找到并启用:
extension=php_sqlsrv.dll
extension=php_pdo_sqlsrv.dll去掉前面的分号,保存后重启 PHP。
第三步:安装 ODBC 驱动
下载并安装 Microsoft ODBC Driver for SQL Server:
安装后可在「ODBC 数据源管理器」中验证驱动是否正常。
第四步:验证扩展
创建 phpinfo.php 文件,内容为:
<?php phpinfo(); ?>浏览器访问,搜索 "sqlsrv",确认扩展已加载。
第五步:PHP 连接代码
<?php
$serverName = "192.168.1.100"; // SQL Server IP 地址
$connectionOptions = array(
"Database" => "数据库名",
"Uid" => "用户名",
"PWD" => "密码"
);
// 建立连接
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
// 执行查询
$query = "SELECT * FROM mrp_plan";
$result = sqlsrv_query($conn, $query);
if ($result === false) {
die(print_r(sqlsrv_errors(), true));
}
// 处理结果
while ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
var_dump($row);
}
// 关闭连接
sqlsrv_free_stmt($result);
sqlsrv_close($conn);
?>使用 PDO 方式(推荐)
<?php
try {
$conn = new PDO(
"sqlsrv:Server=192.168.1.100;Database=数据库名",
"用户名",
"密码"
);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->query("SELECT * FROM mrp_plan");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
print_r($row);
}
} catch (PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>常见问题
| 问题 | 原因 | 解决 |
|---|---|---|
| 扩展未加载 | dll 文件缺失或版本不匹配 | 确认 PHP 版本与 sqlsrv 版本对应 |
| 连接超时 | 防火墙/端口未开放 | 检查 1433 端口和 TCP/IP 协议 |
| SSL 错误 | 证书问题 | 连接串加 Encrypt=no(仅开发环境) |
暂无评论
快来发表第一条评论吧!