更新适用于 php 的 SQLite 的 PDO 驱动程序

And*_*uca 5 php sqlite

我有一个具有以下配置的服务器:

分体6.4

PHP 5.4

SQLite 库 3.6.20(来自 phpinfo())

迫切需要升级 sqlite 库。我需要从 php 访问 sqlite 库。该数据库似乎是使用 sqlite 3.7 创建的。当我尝试从 php 打开它时,出现此错误“文件已加密或不是数据库”。更新该驱动程序即可解决问题

PHP 是使用命令 yum --enablerepo=remi install php-fpm 安装的

我找到了一些答案,例如 yum install php5-sqlite,这似乎是一个旧命令。通常我会找到一些过时的答案。我需要一些东西来使用 php 5.4。用pecl安装也不起作用。

请帮忙

Rem*_*let 0

我在使用 SQLite 3.6 从 CentOS 6 机器上读取使用 SQLite 3.8 (Fedora) 生成的 sqliteDB 时没有任何问题

php -r 'var_dump(
  $db=new sqlite3("/tmp/test.sqlite"),
  $q=$db->query("SELECT name FROM sqlite_master")); 
  foreach ($q->fetchArray() as $r) var_dump($r);'
Run Code Online (Sandbox Code Playgroud)

使用 PDO:

php -r 'var_dump(
  $db=new PDO("sqlite:/tmp/test.sqlite"),
  $q=$db->query("SELECT * FROM sqlite_master"),
  $q->fetchAll()); '
Run Code Online (Sandbox Code Playgroud)

当然,您需要使用“sqlite3”或“pdo_sqlite”扩展,而不是旧的已弃用的“sqlite”扩展。