为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Linux 上启用 PDO_ODBC?

如何在 Linux 上启用 PDO_ODBC?

PHP
撒科打诨 2023-03-11 13:37:27
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 网站上找到驱动程序,像这样或与您的特定版本要求类似:

https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15

您也可以尝试安装 GNU 软件包,例如“FreeTDS”。

另一个问题是,您正在编辑错误的php.ini文件。

运行时php -i | grep....你正在执行cliPHP 的 SAPI /etc/php/7.2/cli/php.ini,但你真正想要的是 apache SAPI php.ini,很可能位于/etc/php/7.2/apache/php.ini. 转到您的php_ini()URL,正确的路径显示在第一个或第二个表格中。


查看完整回答
反对 回复 2023-03-11
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信