1

尝试连接到 PostgreSQL DB 时出现“找不到驱动程序”PDO 异常,我似乎无法弄清楚发生了什么。以下是系统规格:

WampServer 版本 3.0.3 64 位
PHP 7.1.10
Apache 2.4.9
Laravel 5.5

我从这里下载了 PosgtreSQL 10 (Windows x86-64) - EnterpriseDB

以下是所有相关截图:

错误

数据库配置

PHP 扩展

PHP信息

PG 管理员

环境变量

extension_loaded('pgsql')

返回真

我看到的唯一差异是我下载了 PostgreSQL 10,而 PHP Info 说 PostgreSQL(libpq) 版本是 9.6.2。这可能是个问题吗?

编辑:

我用 9.6.5(这是唯一可用的 9.6 版本)替换了 PostgreSQL 10,但它并没有解决问题。

编辑2:

$dbh = new PDO("pgsql:dbname=laravel_admin_api;host=127.0.0.1", "postgres", "admin");
echo $dbh ? "connected" : "failed";

返回connected。所以这一定是Laravel的问题?

编辑 3:

好的,所以到数据库的连接工作了,我创建了一个表并通过pgAdmin手动插入了一行,然后调用

\App\User::all()->toArray()

那行得通。所以实际上php artisan migrate是有问题,并抛出could not find driver异常。仍然难倒那个。

4

1 回答 1

0

我遇到了同样的问题,我通过互联网尝试了几种解决方案。这些都不适合我,最后我可以通过分别安装 Apache 2.4 和 php 7.2.7 而不是在 Windows 上使用 Xamp 或 Wamp 来让它工作。分享最重要的步骤,以便对任何人都有帮助。

  1. 按照https://www.sitepoint.com/how-to-install-apache-on-windows/安装 Apache 。就我而言,我安装了 Apache 2.4
  2. 将 PHP 安装为 Apache 模块 - https://www.sitepoint.com/how-to-install-php-on-windows/(我下载了适用于 Windows 64 的 PHP 线程安全版本)

如果您使上述两者都能正常工作。在 htdocs 中安装 Laravel 并尝试 php artisan migrate 命令。

于 2018-07-04T06:28:49.350 回答