【问题标题】:Not able to enable postgres for php 7.1无法为 php 7.1 启用 postgres
【发布时间】:2016-12-28 10:19:53
【问题描述】:

我想启用postgres,但我无法启用。

为了确保在我的 Mac 上安装了 postgres,我运行了命令 postgres -V,我可以看到 postgres (PostgreSQL) 9.6.1 作为输出,以便确认安装了 postgres。

我运行了命令php -v,我看到的输出是PHP 7.1.0

查看phpinfo 我打开了.ini 文件,并从中取消了以下两个注释。

extension=php_pdo_pgsql.dll
extension=php_pgsql.dll

我在phpinfo 中仍然没有看到 postgres,但是我在控制台中看到了以下警告。

警告:PHP 启动:无法加载动态库 '/usr/local/Cellar/php71/7.1.0_11/lib/php/extensions/no-debug-non-zts-20160303/php_pdo_pgsql.dll' - dlopen(/usr/local/Cellar/php71/7.1.0_11/ lib/php/extensions/no-debug-non-zts-20160303/php_pdo_pgsql.dll, 9): 在第 0 行的 Unknown 中找不到图像

PHP 警告:PHP 启动: 无法加载动态库 '/usr/local/Cellar/php71/7.1.0_11/lib/php/extensions/no-debug-non-zts-20160303/php_pgsql.dll' - dlopen(/usr/local/Cellar/php71/7.1.0_11/lib/php/extensions/no-debug-non-zts-20160303/php_pgsql.dll, 9): 在第 0 行的 Unknown 中找不到图像

我正在设置laravel valet,每个项目似乎都可以使用 mysql 完美运行,但是任何使用 postgres 的项目都会引发错误

AbstractPostgreSQLDriver.php 第 91 行中的 DriverException:
一个例外 发生在驱动程序中:找不到驱动程序

从命令行我可以使用命令psql databasename 连接数据库并运行任何查询,所以我不确定问题出在哪里。

我将非常感谢任何关于我所缺少的帮助。

更新 1

我在 phpini 中评论了以下两个并且至少警告在终端上消失了但是我仍然无法让 postgres 工作。

extension=php_pdo_pgsql.dll
extension=php_pgsql.dll

【问题讨论】:

  • 据我所知,DLL 不适用于 Mac OS X;相反,它们适用于 Windows。因此,您需要获取与 Mac 等效的 DLL(.dylib?)并加载它们。
  • 你能详细说明如何做到这一点吗?

标签: php postgresql laravel-5.3 laravel-valet


【解决方案1】:

我通过将 PHP 更新到版本 7.1.5 解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多