您好,当尝试通过 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 7.1 的 Ubuntu 16 上所做的:
sudo apt install php7.1-sqlite3
你需要
[PDO_SQLITE]
extension=pdo_sqlite.so
启用,对于
sqlite:.subscribers.db
或者,对于 Windows:
[PHP_PDO_SQLITE]
extension=php_pdo_sqlite.dll
当然,这个扩展位于您的
ext
目录中。
在 archlinux 上我必须做两件事:
首先安装php-sqlite
pacman -S php-sqlite
之后,在我的
php.ini
文件中 /etc/php/php.ini
我必须取消注释这一行:
;extension=pdo_sqlite.so
删除分号。
不要忘记重新启动服务器。
我在 Windows 上使用 PHP 的便携式版本,使用内置的 Web 服务器。我发现以下步骤有帮助:
extension_dir = "ext"
(第 700 行左右)[sqlite3]
sqlite3.extension_dir = "ext"
extension = sqlite3
extension = pdo_sqlite
- c C:\Path\to\PortablePHP\php.ini
所以目前我的 php 命令是
php -S localhost:8081 -c B:\Downloads\php-7.2.6\php.ini
。
DB_CONNECTION=sqlite3 为我工作