gpt4 book ai didi

尝试连接 SQLite3 时 PHP 返回 PDOException 'could not find driver'

转载 作者:搜寻专家 更新时间:2023-10-31 21:05:14 25 4
gpt4 key购买 nike

我正在尝试使用 PDO 连接 SQLite 数据库,但出现此错误:

Uncaught exception 'PDOException' with message 'could not find driver'

在我的代码中:

$db = new PDO('sqlite:remedios.sqlite');

此外,命令 PDO::getAvailableDrivers() 仅列出 mysql。我使用的是 Ubuntu 14.04

但问题是我已经安装了 pdo_sqlite(使用 apt-get sqlite3 php5-sqlite 安装)。我也检查了它:

  • 我的 phpinfo() 显示 sqlite3(phpinfo 在这里:PHPInfo)
  • 我在/etc/php5/apache2/conf.d/20-pdo_sqlite.ini 的 PHP 配置文件中有 extension=pdo_sqlite.so(phpinfo 在“其他 .ini 文件”中列出了此文件解析”)
  • 我在文件夹 /usr/lib/php5/20121212 中有 pdo_sqlite.so
  • 已经尝试重新安装 sqlite3、php5、php5-sqlite

编辑

配置文件如下:

20-pdo_sqlite.ini

; configuration for php SQLite module
; priority=20
extension=pdo_sqlite.so

20-sqlite3.ini

; configuration for php SQLite module
; priority=20
extension=sqlite3.so

编辑2

在 apache error.log 上找到这个错误

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pdo_sqlite.so' - /usr/lib/php5/20121212/pdo_sqlite.so: undefined symbol: sqlite3_column_table_name in Unknown on line 0
[Fri Nov 13 00:03:42.704671 2015] [mpm_prefork:notice] [pid 1938] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.14 OpenSSL/1.0.1f configured -- resuming normal operations
[Fri Nov 13 00:03:42.704702 2015] [core:notice] [pid 1938] AH00094: Command line: '/usr/sbin/apache2'

最佳答案

您缺少 SQLite 客户端库,我认为该软件包在 Ubuntu 上是 libsqlite3-0:

apt-get install libsqlite3-0

之后重新启动 Apache。

更新 - 我们在 ldconfig -p | 的帮助下在聊天中解决了这个问题grep sqlite。它在/usr/local/lib 中发现了一个陈旧的 libsqlite3 安装,它与 Apache 使用的安装冲突。删除冲突的安装,然后重新安装 sqlite3 包解决了问题。

关于尝试连接 SQLite3 时 PHP 返回 PDOException 'could not find driver',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33682977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com