当尝试连接到PostgreSQL时,我从PDO得到错误:
Database Connection Error: could not find driver
我运行命令来安装驱动程序:
yum install php7.4-pgsql
systemctl restart httpd
仍然不工作。我发现了另一个可能的驱动程序:
yum install php72w-pdo
systemctl restart httpd
仍然不工作。检查phpinfo()页面没有显示安装了PostgreSQL的PDO驱动程序,并且检查没有pgsql的输出。
php -m | grep pgsql
安装PostgreSQL服务器上我也试过,但我不认为我需要自连接远程服务器。我也尝试过其他教程,但大多数是针对PHP 5的,而不是针对PHP 7.4的。他们说使用command:
yum install php-pgsql
但是这个命令会给我错误的包冲突和所需的列表:
Error: Package: php-pgsql-5.4.16-48.el7.x86_64 (base)
Requires: php-pdo(x86-64) = 5.4.16-48.el7
Installed: php-pdo-7.4.11-1.el7.remi.x86_64 (@remi-php74)
php-pdo(x86-64) = 7.4.11-1.el7.remi
Available: php-pdo-5.4.16-48.el7.x86_64 (base)
php-pdo(x86-64) = 5.4.16-48.el7
...
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
然而,我不认为这些选项应该是必要的Centos 7.4, PHP 7.4。
我可以从MacOs开发环境连接,但不能从Centos服务器连接。
我应该做什么来安装PDO PostgreSQL的驱动程序?
原来我启用了多个版本的PHP。以下是禁用除您想要的以外的所有选项的解决方案:
php -v
PHP 7.4.24 (cli) (built: Sep 21 2021 11:23:11) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
检查您正在运行的版本(示例7.4)
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable remi-php74
然后安装很简单:
yum install php-pdo_pgsql
systemctl restart httpd