Linux 环境下 PHP 使用 PDO 连接 SQL Server (dblib) 配置指南

苏见山
苏见山
发布时间:2026-10-14| 6人浏览过
原创

在 Linux 服务器上,PHP 默认不包含 SQL Server 的支持模块。通过安装 pdo_dblib 扩展,可以利用通用的 PDO API 统一操作 MySQL、Oracle 和 SQL Server 等不同数据库,从而简化代码维护。

前置条件

在进行安装前,请确保服务器已具备编译所需的工具链(如 gcc, make)以及 PHP 的开发头文件包(php-devel)。同时,需确认系统已安装 FreeTDS 基础库,因为 pdo_dblib 依赖 FreeTDS 提供的驱动程序接口。

第1步:获取 pdo_dblib 源码包

PDO 的各数据库适配库均可在 PECL(PHP Extension Community Library)仓库中找到。对于 SQL Server,对应的驱动名称为 PDO_DBLIB。

目的:下载最新稳定版本的 pdo_dblib 源码,用于后续编译。

操作:访问 PECL 官网或使用命令行工具获取源代码包。

wget http://pecl.php.net/get/PDO_DBLIB

第2步:安装 pdo_dblib 扩展

目的:将下载的源码包通过 PHP 自带的 PEAR 工具进行编译和安装。

操作:解压源码包后进入目录执行 pear install 命令,或者如果已解压为 .tgz 压缩包,可直接指向该文件进行安装。

/usr/bin/pear install PDO_DBLIB-1.0.tgz

完成状态判断:安装成功后,PHP 的动态链接库文件通常会被放置在系统的扩展目录下。非 64 位系统可能在 /usr/lib/php/modules/,而 64 位系统通常在 /usr/lib64/php/modules/。在该目录下应能观察到 pdo_dblib.so 文件的存在。

第3步:启用扩展配置

目的:告知 PHP 加载器在启动时加载 pdo_dblib 动态库。

操作:进入 PHP 配置目录 /etc/php.d/(具体路径可能因发行版略有不同,也可能在 /etc/php.ini 中直接配置),创建一个新的配置文件 pdo_dblib.ini,并在其中写入以下内容:

extension=pdo_dblib.so

如果采用直接修改主配置文件的方式,需在 php.ini 的 [Dynamic Extensions] 部分添加一行 extension=pdo_dblib.so。

第4步:重启 Web 服务

目的:使新的扩展配置生效。

操作:根据使用的 Web 服务器类型,重启 Apache 服务(httpd)或 Nginx 配合 PHP-FPM。

service httpd restart

完成状态判断:可以使用 php -m | grep pdo_dblib 命令检查输出是否包含 pdo_dblib,或在 PHPInfo 页面中查看是否存在 DBLIB 相关板块。

第5步:PHP 连接测试

目的:验证连接是否成功,并展示如何使用 PDO 进行基本查询。

利用 PDO 访问 SQL Server 时,DSN(数据源名称)字符串的前缀应为 dblib。以下代码演示了建立连接、执行查询并逐行读取结果的过程:

<?php
// 建立连接
$db = new PDO("dblib:host=myHost;dbname=myDB", "myUserName", "myPassword");

// 准备 SQL 语句
$sql = "select count(*) count from testTable";

// 执行查询
$res = $db->query($sql);

// 遍历结果
while ($row = $res->fetch()) {
    print_r($row);
}

// 释放资源
$res = null;
$db = null;
?>

上述代码展示了标准的 PDO 操作流程:$db->query() 执行 SQL 并返回结果集对象,->fetch() 从结果集中提取一行数据。由于使用了 PDO,无论后端是 MySQL 还是 SQL Server,只需更改构造函数中的连接参数即可,业务逻辑层的调用方式保持一致。

以上就是 Linux 环境下 PHP 配置 PDO 连接 SQL Server 的详细内容,更多关于 PHP 数据库连接优化的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。