8

我正在尝试使用 PHP5 连接到 Sybase 数据库。我相信我已经成功地将 PHP 编译PDO_DBLIB为PDO 驱动程序下的phpinfo()列表和风味。dblibfreetdspdo_dblib

但是,当我尝试测试连接时,我得到一个错误读数:

带有消息“找不到驱动程序”的“PDOException”

我正在尝试使用以下代码连接到 LAN 上的服务器:

$dbh = new PDO("sybase:host=192.168.1.xxx;dbname=[database-name]", '[user]', '[pass]');

任何建议将不胜感激!

4

3 回答 3

2

您应该使用dblib而不是sybase,如下所示:

$dbh = new PDO("dblib:host=192.168.1.xxx;dbname=[database-name]", '[user]', '[pass]');
于 2015-01-16T18:10:16.693 回答
-1

如果您使用的是 Ubuntu,您可以将LD_LIBRARY_PATH放在 envvars 中,它似乎可以读取......仍在尝试找到一种方法让它坚持在基于RHEL的系统上......我不太确定我希望你能在下设置一个系统范围的变量

我的电脑 -> 属性 -> 高级选项

如果使用的是基于RHEL的系统,最好 在 httpd 重启脚本中包含: export LD_LIBRARY_PATH=/path/to/library / - 现在重新启动 apache,您应该会看到一些活动。

于 2013-02-08T11:39:06.340 回答
-1

PDO 不起作用,或者至少没有 PDO Sybase 对 php 的支持。在 Windows 上,您可以使用 ODBC,以及PDO_SQLSRVPDO_ODBC,这听起来可能很奇怪,但它应该可以工作。

第二个选项,我会推荐它,是直接连接到 Sybase (SqlAnywhere),但你需要安装SQL Anywhere PHP 模块

于 2013-01-19T00:26:02.440 回答