PHP 启动:无法加载动态库 PGSQL

新手上路,请多包涵

我正在尝试运行 Symfony 3.x:

  • Ubuntu 16.04
  • PHP 7.0
  • Nginx

我想与我创建的 PGSQL 数据库进行交互,但出现此错误:

PHP 警告:PHP 启动:无法加载动态库 ‘/usr/lib/php/20151012/php_pdo_pgsql.dll’ - /usr/lib/php/20151012/php_pdo_pgsql.dll:无法打开共享对象文件:没有这样的文件或目录在第 0 行未知

[Doctrine\DBAL\Exception\DriverException] 驱动程序发生异常:找不到驱动程序

[Doctrine\DBAL\Driver\PDOException] 找不到驱动程序

[PDOException] 找不到驱动程序

所以我查看了我的 phpinfo() 似乎启用了 pgsql 驱动程序

phpinfo() 结果

谁能帮我解决这个问题?

原文由 Hurobaki 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 473
2 个回答

您必须正确安装 PostgreSQL 模块并启用它。 http://php.net/manual/en/pgsql.installation.php

PS 不要在基于 UNIX 操作系统的服务器上使用“.dll”文件,因为这些扩展是为 Windows 操作系统编译的(对于基于 UNIX 的操作系统,您必须使用“.so”文件)。

原文由 Neodan 发布,翻译遵循 CC BY-SA 3.0 许可协议

我有一个非常相似的问题:

我通过应用与此主题相同的补丁来修复它: pdo_odbc.so 中的 pdo_parse_params 错误每当 PHP 在 Fedora 20 中启动时

简而言之:如果一个模块已经被 /etc/php/7.2/mods-available/<module>.ini (或您操作系统的等效路径)加载,那么该模块不应在 php.ini 文件中取消注释(= 激活)。 (其中两个,cli 和服务器)。

您可以通过检查 phpinfo() 来确保这一点,并观察 pdo_pgsql 如何在那里仍然处于活动状态,尽管该行在 php.ini 中被注释了!

原文由 Fabien Haddadi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏