【发布时间】:2016-04-01 20:13:41
【问题描述】:
我一直在尝试在我的基于 linux 的 Web 服务器上识别 MsSQL,该服务器上当前安装了 Ubuntu。我已经按照这篇文章中显示的步骤进行操作,但我没有设法让它工作:
Connect PHP to MSSQL via PDO ODBC
每次我在 PHP 中运行以下命令时,我只是简单地获取 mysql,就好像它只获取 mysql.so 文件一样:
foreach (PDO::getAvailableDrivers() as $driver)
{
echo $driver . '<br />';
}
有人知道我怎样才能让它输出 odbc 驱动程序吗?我问的原因是因为我试图运行的 PHP 应用程序中有以下代码,我试图绕过它,因为它是为 Microsoft Server 编写的:
if (extension_loaded('pdo_sqlsrv')) $this->extension = 'pdo_sqlsrv';
else if (extension_loaded('pdo_odbc')) $this->extension = 'pdo_odbc';
如果我将上面的代码注释掉,pdo 语句由于没有 odbc 驱动程序而无法连接,因为我上面提到的原因
我尝试安装 freetds 并对其进行配置,但由于 odbc 未显示在驱动程序列表中,我无法使其正常工作;
正在阅读包裹清单...完成 构建依赖树 读取状态信息...完成 tdsodbc 已经是最新版本。 unixodbc 已经是最新版本。 0 升级,0 新安装,0 移除,171 不升级。
有人对在 Linux (Ubtuntu) 上使用 PHP 5.4 从 MsSQL 阅读有任何建议吗?
【问题讨论】:
-
好的,所以我设法更进一步。我得到了 ODBC linux 驱动程序,现在我遇到了另一个问题: SQLSTATE[08001] SQLDriverConnect: 0 [unixODBC][FreeTDS][SQL Server]Unable to connect to data source
标签: php mysql sql-server pdo odbc