Linux 环境下 PHP 使用 PDO 连接 SQL Server (dblib) 配置指南
在 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 数据库连接优化的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









