环境配置:
Ubuntu 16.04.1
PostgreSQL 9.5.4
PHP 7.0
嗨,我尝试使用php PDO连接到我的postgresql数据库
$DB_ADDR="127.0.0.1";
$DB_PORT="5432";
$DB_NAME="bddautfreq";
$DB_USR="postgres";
$DB_PWD="xxx";
try{
$bdd=new PDO ("pgsql:host=".$DB_ADDR.";port=".$DB_PORT.";dbname='".$DB_NAME."'",$DB_USR,"'".$DB_PWD."'");
}
catch (Exception $e)
{
die('Erreur connexion BDD: '.$e->getMessage());
}但会发生此错误:
Erreur connexion BDD: SQLSTATE[08006] [7] FATAL: password authentication failed for user "postgres"信任我的pg_hba.conf文件,连接就可以了
host all all 127.0.0.1/32 trust但不是用md5认证。
host all all 127.0.0.1/32 md5php7.0-pgsql模块已安装并启用:
gbdd@GBDD-HP:~$ ls /etc/php/7.0/mods-available/
calendar.ini fileinfo.ini iconv.ini pdo.ini phar.ini shmop.ini sysvsem.ini
ctype.ini ftp.ini json.ini pdo_pgsql.ini posix.ini sockets.ini sysvshm.ini
exif.ini gettext.ini opcache.ini pgsql.ini readline.ini sysvmsg.ini tokenizer.ini加密密码在我的postgresql.conf文件中。
与psql连接好
gbdd@GBDD-HP:~/bdd$ psql -U postgres -d bddautfreq
psql (9.5.4)
Type "help" for help.
bddautfreq=#我一定会输入正确的密码(与.pgpass相同)。对我来说,信任不是一个安全的解决方案有人能帮我理解我的apache,php或postgresql配置的错误吗?非常感谢 !