php - 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 之一已损坏。一旦我重新安装了所有东西,它就用上面描述的完全相同的配置解决了。花了我几个小时的备份等,但它现在正在工作。
我不知道这是怎么发生的。由于我在开发环境中工作,可能是同事安装或做了什么,我不知道。
我应该删除问题吗?
解决方案
推荐阅读
- python - 从curl python请求错误错误401转换
- ruby - 更新哈希值
- python - 我正在使用 python 构建决策树
- amazon-web-services - AWS Cloudformation:如何获取 RestAPI 名称
- angular - 角度组件无需重新加载
- python - vs 2017 - python intellisense 不工作
- spring-boot - 将 AggregateApplicationBuilder 与 HTTP 源绑定一起使用
- c - 如何初始化指向堆栈的指针
- android - 如何在 Android 中将多次单击侦听器设置为 AutoCompleteTextView?
- javascript - 使用 js 附加和渲染一个 Vue 组件