PDO_ODBC我想使用(在 Centos 7 x64 位上)运行 Microsoft Access 数据库。但不幸的是我在页面上收到此错误:could not find driver首先,我正在通过我的connection.php寻找问题,但我的代码似乎没有问题(在 Windows 7 x64 位上测试)。然后我认为驱动程序尚未启用,我查看phpinfo()页面,是的,驱动程序尚未启用。然后我进入php.ini以启用驱动程序。我取消注释php.ini中的以下行:extension=pdo_odbc然后我使用这个命令重新启动 apache:# /etc/init.d/apache2 restart之后我查看phpinfo()页面,不幸的是我设置的设置尚未启用,这是phpinfo(): phpinfo() 页面的屏幕截图。你能告诉我如何在 Linux (CentOS 7) 上启用 PDO_ODBC 吗?更新以显示我的连接连接.php:<?php $dsn = "{Microsoft Access Driver (*.mdb, *.accdb)}"; $db = "/home/www/html/cetak_absensi/uploaded/db_access/my_access_db.mdb"; $user = ""; $pass = ""; if (!file_exists($db)) { die("File is not exists ! " . $db); }else{ try { $koneksi = new PDO("odbc:DRIVER=".$dsn.";charset=UTF-8; Dbq=".$db."; Uid=".$user."; Pwd=".$pass.";"); $koneksi->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "There is an error : <i>" . $e->getMessage() . "</i>"; die(); } }
1 回答
喵喵时光机
TA贡献1846条经验 获得超7个赞
驱动程序和扩展程序不是一回事。
您可以在 microsoft.com 网站上找到驱动程序,像这样或与您的特定版本要求类似:
您也可以尝试安装 GNU 软件包,例如“FreeTDS”。
另一个问题是,您正在编辑错误的php.ini
文件。
运行时php -i | grep....
你正在执行cli
PHP 的 SAPI /etc/php/7.2/cli/php.ini
,但你真正想要的是 apache SAPI php.ini,很可能位于/etc/php/7.2/apache/php.ini
. 转到您的php_ini()
URL,正确的路径显示在第一个或第二个表格中。
- 1 回答
- 0 关注
- 107 浏览
添加回答
举报
0/150
提交
取消