2010-08-14 8 views
5

संपादित करें के साथ PostgreSQL से कनेक्ट नहीं हो सकता है संपादित करें: मुझे अभी एहसास हुआ कि यह प्रश्न सर्वरफॉल्ट के लिए बेहतर अनुकूल हो सकता है। इसे कॉपी करने के बजाय, एक मॉडरेटर कृपया इसे आगे बढ़ाएं? धन्यवाद।PHP pg_connect()

मैंने php-info की जांच की है, और Postgresql एक्सटेंशन वहां है (pg_connect() अपरिभाषित नहीं है)। मैं localhost पर psql का उपयोग करके postgresql से कनेक्ट करने में भी सक्षम हूं (मैंने अपनी pg_hba.conf फ़ाइल को उचित रूप से संपादित किया है)।

<?php 
$dbconn = pg_connect("host=localhost port=5432 dbname=mydb user=myuser password=mypass") or die('Could not connect: ' . pg_last_error()); 
?> 

इस कोड को बस में परिणाम है: यहाँ कोड है कि काम नहीं कर रहा है "कनेक्ट नहीं कर सका:" ब्राउज़र में प्रदर्शित किया जा रहा।

मैं अपने Apache लॉग जाँच की, और यहाँ प्रासंगिक त्रुटि संदेश है:

PHP Warning: pg_connect() [<a href='function.pg-connect'>function.pg-connect</a>]: 
Unable to connect to PostgreSQL server: could not connect to server: Permission 
denied\n\tIs the server running on host &quot;localhost&quot; and accepting\n\tTCP/IP 
connections on port 5432? 

मैं/डिबग इसका समाधान कैसे कर सकते हैं?

संपादित करें: मैं Centos 5.4 btw पर हूं।

उत्तर

10

सर्वर से कनेक्ट नहीं कर सकता है: अनुमति अस्वीकृत

संपादित करें: मैं Centos 5.4 btw पर हूँ।

/var/log/audit/audit.log देखें। संभावना है कि आप एक SELinux नियम मार रहे हैं।

+2

धन्यवाद, वह था। मैंने अभी 'setenforce 0' किया है और यह काम किया है। – ehsanul

+7

आप सेटसेबूल -पी httpd_can_network_connect 1 भी चला सकते हैं – garg