pdo sqlite 找不到驱动程序... php 文件未处理
Posted
技术标签:
【中文标题】pdo sqlite 找不到驱动程序... php 文件未处理【英文标题】:pdo sqlite could not find driver... php file not processing 【发布时间】: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());
【问题讨论】:
http://www.php.net/manual/en/ref.pdo-sqlite.php 【参考方案1】:我必须实际安装扩展程序,这就是我在运行 PHP 7.1 的 Ubuntu 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 上:***.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 服务器。我发现以下步骤有所帮助:
-
将 php.ini-development 重命名为 php.ini
在 [PHP] 下取消注释
extension_dir = "ext"
(大约第 700 行)
确保以下行在 php.ini 中:
[sqlite3]
sqlite3.extension_dir = "ext"
extension = sqlite3
extension = pdo_sqlite
-
运行 php 网络服务器并添加以下标志:
- c C:\Path\to\PortablePHP\php.ini
所以目前我的php命令是php -S localhost:8081 -c B:\Downloads\php-7.2.6\php.ini
。
【讨论】:
以上是关于pdo sqlite 找不到驱动程序... php 文件未处理的主要内容,如果未能解决你的问题,请参考以下文章
Symfony3 演示项目不起作用:PDO 异常找不到驱动程序(sqlite 案例)
使用 PDO 的 MS Access PHP 连接“找不到驱动程序”错误
PDO 扩展配置 - 我在我的 PHP 应用程序中不断收到 PDOException“找不到驱动程序”