我试图用:
运行Symfony 3.x.我想与我创建的PGSQL数据库进行交互,但是我收到了这个错误:
PHP警告:PHP启动:无法加载动态库 '/usr/lib/php/20151012/php_pdo_pgsql.dll' - /usr/lib/php/20151012/php_pdo_pgsql.dll:无法打开共享对象 file:第0行的Unknown中没有这样的文件或目录
[Doctrine \ DBAL \ Exception \ DriverException] 驱动程序中发生异常:找不到驱动程序
[Doctrine \ DBAL \ Driver \ PDOException]找不到驱动程序[PDOException]找不到驱动程序
所以我查看了我的phpinfo()
,似乎启用了pgsql驱动程序
任何人都可以帮我这个吗?
答案 0 :(得分:3)
您必须正确安装PostgreSQL模块并启用它。 http://php.net/manual/en/pgsql.installation.php
P.S。不要使用' .dll'具有基于UNIX的操作系统的服务器上的文件,因为这些扩展是为Windows操作系统编译的(对于基于UNIX的操作系统,您必须使用' .so'文件)。
答案 1 :(得分:0)
我有一个非常相似的问题:
我通过应用与此主题相同的补丁来修复它: pdo_parse_params error in pdo_odbc.so whenever PHP starts in Fedora 20
简而言之:如果statistics
(或您的操作系统的等效路径)已经加载了模块,则不应在php.ini文件中取消注释该模块(=使它处于活动状态)。 (其中两个,cli和server)。
您可以通过检查phpinfo()来确保这一点,并观察pdo_pgsql在其中仍然处于活动状态,尽管该行在php.ini中已注释!
答案 2 :(得分:0)
我遇到了类似的问题,并且(在安装PHP pg驱动程序之后)我不得不向/etc/php.d添加两个文件。
20-pgsql.ini
extension=pgsql.so
30-pdo-pgsql.ini
extension=pdo_pgsql.so
将这些扩展配置行放在php.ini中,一直给我pdo_parse_params错误
答案 3 :(得分:0)
对我来说,上述解决方案均无效。在 php.ini 中取消注释 extension=pgsql 本身也不起作用。
即使我使用 Ubuntu 在我的 Ubuntu 上安装了 postgresql,它似乎也没有安装
sudo apt-get install postgresql-12
最后,我意识到我必须安装:
sudo apt-get install php-pgsql