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

Hur*_*aki 10 php pdo php-pgsql

我正在尝试使用以下命令运行 Symfony 3.x:

  • Ubuntu 16.04
  • PHP 7.0
  • 金克斯

我想与我创建的 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() 结果

谁能帮我解决这个问题?

小智 7

对我来说,上述解决方案都不起作用。在 php.ini 中取消注释 extension=pgsql 本身也不起作用。

看起来好像 postgresql 没有安装,尽管我已经使用它在我的 Ubuntu 上安装了它

sudo apt-get install postgresql-12 
Run Code Online (Sandbox Code Playgroud)

最后,我意识到我必须安装:

sudo apt-get install php-pgsql
Run Code Online (Sandbox Code Playgroud)

  • 针对特定版本:`sudo apt-get install php7.4-pgsql`。 (2认同)

Neo*_*dan 6

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

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