作者nconqd (希望一切順利...)
看板Database
標題[SQL ] PostgreSQL的連線問題
時間Sun Dec 13 22:19:58 2009
各位先進 大家好:
小弟這幾天在設定一台主機,環境為Fedora12。
在安裝apache和postgresql後,我直接寫一支測試資料庫連結的程式,其中發現一個問題
我的程式碼如下:
$testDb=pg_connect("host=localhost dbname=template1 user=postgres
password=123456");
if(!$testDb){
echo "連線失敗";
}else{
echo "連線成功";
}
如果以以上程式碼去執行,會有error出現
php warning:Pg_connect:unable to connect to PostgreSQL server:could not
connect to server: Permission denied Is the server running on host
"127.0.0.1" and accepting TCP/IP connections on port 5432
但如果我把程式碼第一行改為
$testDb=pg_connect("dbname=template1 user=postgres password=123456");
程式就可成功執行
不過這樣的設定應該是有問題的吧!!
怎在db連線的時候,指定host會有問題,而如不指定host就可成功
我在pg_hba.conf的設定為
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all password
# IPv4 local connections:
host all all 127.0.0.1/32 password
host all all 127.0.0.1 255.255.255.0 password
# IPv6 local connections:
host all all ::1/128 md5
我想請問各位先進,小弟在哪邊的設定有問題???
煩請各位先多多指教囉!!!
先說謝謝了.....^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.137.115.41
1F:→ jlovet:沒有指定的時候會連線unix socket 12/13 23:18
2F:→ jlovet:把localhost改成127.0.0.1呢? 12/13 23:22
3F:→ nconqd:我有試著把host設為"127.0.0.1"....不過問題還是一樣... 12/14 09:10
4F:→ nconqd:所以才想說是不是主機上的哪邊設定有問題??? 12/14 09:16
5F:→ jlovet:用psql去連線的話可以嘛? 12/14 22:33
6F:→ nconqd:恩恩...只有網頁會連線錯誤...不過pgadmin都正常連線... 12/14 22:46
7F:→ nconqd:我有找到一個方法...就是修改/etc/selinux底下的config.... 12/14 22:54
8F:→ nconqd:SELINUX=enforcing改為SELINUX=disable...就可正常運作了.. 12/14 22:58
9F:→ nconqd:只是不知道這樣會有甚麼影響.... 12/14 23:11
10F:→ nconqd:發現不用關掉selinux,把其中連接database的部分打開就可以 12/14 23:35