【问题标题】:pdo sqlite could not find driver... php file not processingpdo sqlite 找不到驱动程序... php 文件未处理
【发布时间】:2012-02-06 21:23:41
【问题描述】:

您好,我在尝试通过 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


【解决方案1】:

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

sudo apt install php7.1-sqlite3

【讨论】:

  • sudo apt-get install php5-sqlite 用于 Ubuntu 服务器 14.04.5 LTS 上的 php5
  • sudo apt install php-sqlite3 用于 php7 的所有变体
  • sudo apt install php8.0-sqlite3 如果你使用 PHP 8。
【解决方案2】:

你需要

[PDO_SQLITE]
extension=pdo_sqlite.so

sqlite:.subscribers.db启用

或者,对于窗户:

[PHP_PDO_SQLITE]
extension=php_pdo_sqlite.dll

当然还有你的ext目录中的这个扩展

【讨论】:

  • 我是否必须重新编译 php 才能获得 pdo_sqlite.so 扩展名?
  • 不,只需将*.so 文件添加到ext 目录,在php.ini 中添加几行即可
  • 好吧,我想通了sudo pecl install pdo_sqlite 做到了 pdo_mysql 之前的 sqlite 做到了。
  • 另外,在 ubuntu 上:stackoverflow.com/questions/8822209/…
  • 我已经编辑了 /etc/php5/apache2/php.ini 然后我重新启动了 Apache (sudo service apache2 restart)
【解决方案3】:

在archlinux上我必须做两件事:

先安装php-sqlite

pacman -S php-sqlite

在那之后,在我的php.ini/etc/php/php.ini 文件中,我不得不取消注释这一行:

;extension=pdo_sqlite.so

通过删除分号。

别忘了重启服务器。

【讨论】:

  • 非常适合我!谢谢。正如你所说,我只是取消注释 ;extension=pdo_sqlite.so 。
【解决方案4】:

我在 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2012-07-10
    • 2019-10-17
    • 2018-03-02
    相关资源
    最近更新 更多