【问题标题】:PostgreSQL, WAMP, Laravel 5.5 - "php artisan migrate" throwing "driver not found" exceptionPostgreSQL、WAMP、Laravel 5.5 - “php artisan migrate”抛出“找不到驱动程序”异常
【发布时间】:2017-11-08 18:58:51
【问题描述】:

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

WampServer 版本 3.0.3 64 位
PHP 7.1.10
阿帕奇 2.4.9
Laravel 5.5

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

以下是所有相关截图:

extension_loaded('pgsql')

返回真

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

编辑:

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

编辑 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 异常。仍然难倒那个。

【问题讨论】:

  • 您的迁移是什么样的?
  • Laravel 附带的默认 2 个迁移(用户和迁移表)。切换到mysql或者sqlite都没有问题。
  • 几点:WampServer的最新版本是3.1.0,最好将WAMPServer安装到驱动器的根目录中,而不是安装到Program Files

标签: postgresql wamp laravel-5.5 php-7.1 php-pgsql


【解决方案1】:

我遇到了同样的问题,我通过互联网尝试了几种解决方案。这些都不适合我,最后我可以通过分别安装 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 命令。

【讨论】:

    猜你喜欢
    • 2017-08-02
    • 2023-03-27
    • 2016-01-13
    • 2014-04-23
    • 2016-07-30
    • 2019-01-17
    • 2016-11-24
    • 2018-10-29
    • 2015-09-21
    相关资源
    最近更新 更多