配置 pdo_dblib - freetds 已经安装

Posted

技术标签:

【中文标题】配置 pdo_dblib - freetds 已经安装【英文标题】:configure pdo_dblib - freetds already installed 【发布时间】:2018-02-03 16:35:51 【问题描述】:

我正在运行一个已安装 freetds 但未配置为支持 dblib 的 Linux 服务器。 PDO 目前仅支持 sqlite 和 mysql。还启用了 MSSQL 支持。

如果我想添加对 dblib 的支持并为 FreeTDS/Sybase DB-lib 启用 PDO 驱动程序,我是否只需要在现有安装上运行此命令:

 ./configure --with-pdo-dblib

如果是这样,我将从哪个目录运行命令?

环境: php 版本 5.5.38 CENTOS 6.9

谢谢

【问题讨论】:

【参考方案1】:

如果你正确配置了FreeTDS,你应该可以像这样连接:

$pdo = new PDO("dblib:host=mssql;dbname=$dbname", "$dbuser","$dbpwd");

如果你不能,这个答案会给出更明确的说明:Connect PHP to MSSQL via PDO ODBC

pdo_dblib 通常在您安装 php-mssql 时安装在大多数 Linux 发行版中(例如,在 CentOS 和 Ubuntu 上)。如果连接命令不起作用,请重写您的问题以包括您已采取的具体步骤和错误输出。祝你好运!

【讨论】:

谢谢。实际上,建立与数据库的连接不是问题,我可以在我们配置有 PDO ODBC 的内部服务器上执行此操作。但是在有问题的服务器上,由于某种原因没有安装它。我的问题是添加/激活该驱动程序。但是自从提出这个问题后,托管公司的支持已经添加了驱动程序。【参考方案2】:

自撰写此问题以来,托管此服务器的公司的支持团队安装了驱动程序。我不确切知道他们采取了哪些步骤,所以我不能按照我的意愿发布一步一步的答案。结束这个问题。

【讨论】:

以上是关于配置 pdo_dblib - freetds 已经安装的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 PHP 连接到 Sybase

freeTDS 不使用其配置

FreeTDS 和 unixodbc 安装和配置

无法使用 FreeTDS 配置连接到 Azure SQL 实例

使用 PDO_DBLIB 连接到 MS SQL 数据库的 PHP 错误

Python3 freetds.conf odbcinst.ini odbc.ini 之间的关系