首页 > 解决方案 > Laravel: PDOException::("找不到驱动程序")

问题描述

在询问之前,我已经检查了 SO 中类似问题的几个(不是全部)答案。

我当前的设置是 Windows 10,运行 Laragon(如果你不知道 Laragon 是什么,我强烈推荐它),它带有 Apache 2、Postgres 11、PHP 等。一切都配置正确。

如果我编写一个普通的 PHP 应用程序,与数据库的连接工作正常,我可以连接 ( pg_connect()) 进行查询pg_query()等,所以 PHP pgsql 和 pdo_pgsql 工作正常,但我得到了这个错误:

1   Doctrine\DBAL\Driver\PDOException::("could not find driver")
D:\...\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31

2   PDOException::("could not find driver")
D:\...\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:27

我在 Laravel 中的 .env 文件有:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=xxxxxx
DB_USERNAME=xxxxxx
DB_PASSWORD=xxxxxx

那么,我错过了什么?我应该检查什么?

@Alex 不,不是这样,这是我的 php.ini 的一小部分

...
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
extension=pdo_pgsql
;extension=pdo_sqlite
extension=pgsql
;extension=shmop
...

也许我的 php 配置损坏了?这样的事情会发生吗?


编辑 - 已解决

这就是发生的事情:显然,PHP 文件或 Postgres 的 DLL 之一已损坏。一旦我重新安装了所有东西,它就用上面描述的完全相同的配置解决了。花了我几个小时的备份等,但它现在正在工作。

我不知道这是怎么发生的。由于我在开发环境中工作,可能是同事安装或做了什么,我不知道。

我应该删除问题吗?

标签: phplaravelpostgresql

解决方案


推荐阅读