pdo sqlite 找不到驱动程序...php 文件未处理

问题描述 投票:0回答:6

您好,当尝试通过 php 文件连接到 sqlite 时,我收到了 找不到驱动程序 错误。我已将权限设置为 777...PHP 版本 5.2.16,我安装了模块。任何原因都找不到驱动程序,php.ini 也显示已安装扩展 pdo.so 和 pdo_mysql.so。

PDO

启用 PDO 支持 PDO 驱动 mysql

pdo_mysql

MySQL 的 PDO 驱动程序,客户端库版本 5.0.92

try {
    // Connect to the SQLite Database.
    $db = new PDO('sqlite:.subscribers.db');
} catch(Exception $e) {
    die('connection_unsuccessful: ' . $e->getMessage());
}
php sqlite pdo
6个回答
39
投票

我必须实际安装扩展,这就是我在运行 PHP 7.1Ubuntu 16 上所做的:

sudo apt install php7.1-sqlite3


27
投票

你需要

[PDO_SQLITE]
extension=pdo_sqlite.so

启用,对于

sqlite:.subscribers.db

或者,对于 Windows:

[PHP_PDO_SQLITE]
extension=php_pdo_sqlite.dll

当然,这个扩展位于您的

ext
目录中。


11
投票

在 archlinux 上我必须做两件事:

首先安装php-sqlite

pacman -S php-sqlite

之后,在我的

php.ini
文件中
/etc/php/php.ini
我必须取消注释这一行:

;extension=pdo_sqlite.so

删除分号。

不要忘记重新启动服务器。


3
投票

我在 Windows 上使用 PHP 的便携式版本,使用内置的 Web 服务器。我发现以下步骤有帮助:

  1. 将 php.ini-development 重命名为 php.ini
  2. 在 [PHP] 下取消注释
    extension_dir = "ext"
    (第 700 行左右)
  3. 确保以下行位于 php.ini 中:
[sqlite3]    
sqlite3.extension_dir = "ext"    
extension = sqlite3    
extension = pdo_sqlite
  1. 运行 php 网络服务器并添加以下标志:
    - c C:\Path\to\PortablePHP\php.ini

所以目前我的 php 命令是

php -S localhost:8081 -c B:\Downloads\php-7.2.6\php.ini


0
投票

Debian 11(牛眼)提供

php7.4-sqlite3

apt install php7.4-sqlite3

0
投票

DB_CONNECTION=sqlite3 为我工作

© www.soinside.com 2019 - 2024. All rights reserved.