【发布时间】: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