PHP PDO无法连接到localhost

时间:2015-06-08 21:54:16

标签: php postgresql pdo psql

PHP:通过Vagrant在ubuntu vm上使用PHP 5.3.10 DB:Postgres 9.3.2.0

我可以轻松连接到远程数据库;但是,当我尝试连接到我所拥有的本地开发者数据库时,我收到错误

new PDO("pgsql:dbname=testdb;host=127.0.0.1;user=user1;password=tester;port=5432");
  

[Mon Jun 08 21:37:15 2015] [error] [client 10.0.2.2] PHP致命错误:未捕获异常'PDOException',消息'SQLSTATE [08006] [7]无法连接到服务器:连接被拒绝\ n \ t服务器是否在主机“127.0.0.1”上运行并接受端口5432上的\ n \ tTCP / IP连接? in /lib/Db.inc:28\nStack trace:\ n#0 /lib/Db.inc(28):PDO-> __ construct('pgsql:dbname = te ...')\ n#1 / www /page1.php(9):Db-> __ construct('postgres:// test ...')\ n#2 {main} \ n在第28行/lib/Db.inc中抛出

我知道这不是连接问题,因为我的本地数据库已启动且运行良好

psql postgres://user1:tester@127.0.0.1/testdb

1 个答案:

答案 0 :(得分:1)

我在Fedora 23上运行,将/var/lib/pgsql/data/pg_hba.confident更改为md5后,我无法与psql postgres://user1:tester@127.0.0.1/testdb建立联系。最后发现selinux会阻止连接。

快速解决方法是将/etc/selinux/config修改为disabled并重新启动。但是检查如何使用selinux和端口将是更好的解决方案。