2016-09-21 9 views
6

मैं कोडिग्नर फ्रेमवर्क का उपयोग कर PostgreSQL से कनेक्ट करने का प्रयास कर रहा हूं। अब मेरी database.php मेंकोडिनेटर 3 में POSTGRESQL से कैसे कनेक्ट करें?

मैं निम्नलिखित कोड है:

$active_group = 'default'; 
$query_builder = TRUE; 

$db['default'] = array(
    'dsn' => '', 
    'hostname' => 'localhost', 
    'username' => 'postgres', 
    'password' => '', 
    'database' => 'fmsdb', 
    'dbdriver' => 'postgre', 
    'dbprefix' => '', 
    'pconnect' => FALSE, 
    'db_debug' => (ENVIRONMENT !== 'production'), 
    'cache_on' => FALSE, 
    'cachedir' => '', 
    'char_set' => 'utf8', 
    'dbcollat' => 'utf8_general_ci', 
    'swap_pre' => '', 
    'encrypt' => FALSE, 
    'compress' => FALSE, 
    'stricton' => FALSE, 
    'failover' => array(), 
    'save_queries' => TRUE 
); 

लेकिन जब मैं स्थानीय होस्ट में अपनी साइट चलाने के लिए, मैं डेटाबेस त्रुटि निम्नलिखित हो:

एक PHP त्रुटि

गंभीरता: चेतावनी

संदेश: pg_connect(): PostgreSQL सर्वर से कनेक्ट करने में असमर्थ: सर्वर से कनेक्ट नहीं हो सकता है: अनुमति अस्वीकृत है सर्वर सर्वर "लोकलहोस्ट" (:: 1) पर चल रहा है और पोर्ट 5432 पर टीसीपी/आईपी कनेक्शन स्वीकार कर रहा है? सर्वर से कनेक्ट नहीं हो सकता है: अनुमति अस्वीकृत है सर्वर सर्वर "लोकलहोस्ट" (127.0.0.1) पर चल रहा है और पोर्ट 5432 पर टीसीपी/आईपी कनेक्शन स्वीकार कर रहा है?

फ़ाइल का नाम: postgre/postgre_driver.php

लाइन संख्या:

listen_addresses = '*' 

मैं गलत कहाँ जा रहा हूँ: 154

मैं अपने PostgreSQL.conf फ़ाइल में इस डाल करने की कोशिश की?

+0

इस में मदद मिलेगी: http://stackoverflow.com/questions/29630851/connecting-postgresql-and-codeigniter – devpro

+0

PostgreSQL बंदरगाह '$ db [ 'डिफ़ॉल्ट'] [ 'पोर्ट'] = 5432 जोड़ने;' भी php ini से ext सक्षम। 'विस्तार = php_pdo_pgsql।dll' – devpro

+0

इस एक्सटेंशन को centos7 – Rajan

उत्तर

5

सबसे पहले आप यह भी रूप में अच्छी तरह पीडीओ के लिए Postgresql विस्तार सक्षम कर सकते हैं php.ini

extension=php_pgsql.dll

में Postgresql एक्सटेंशन सक्षम।

extension=php_pdo_pgsql.dll


$db['default'] = array(
    'port' => 5432, # Add 
); 

या

$db['default'] = array(
    'dsn' => 'pgsql:host=localhost;port=5432;dbname=database_name', 
    'dbdriver' => 'pdo', 
); 

Database-configuration in codeigniter.com

+0

में कैसे सक्षम करें मुझे लगता है कि मेरा pgsql पहले ही लोड हो चुका है क्योंकि मैंने phpPGAdmin स्थापित किया है और इसके कामकाजी ठीक – Rajan

+0

आप एपैच को पुनरारंभ करने का भी सुझाव दे सकते हैं, इससे दूसरों की मदद मिलेगी। मुझे लगता है। :) – devpro

1
  1. पहले इन दो एक्सटेंशन

    extension=php_pgsql.dll 
    extension=php_pdo_pgsql.dll 
    
  2. फिर पुनः आरंभ अपाचे
  3. सभी अन्य कोड के साथ database.php फ़ाइल में $ db [ 'डिफ़ॉल्ट'] [ 'पोर्ट'] = 5432 जोड़े सक्षम करें।
+0

मैं केंद्र 7 का उपयोग कर रहा हूं ये सेटिंग्स समान होंगी? – Rajan

+0

मुझे लगता है कि मेरा pgsql पहले ही लोड हो चुका है क्योंकि मैंने phpPGAdmin स्थापित किया है और इसके कामकाजी ठीक – Rajan

+0

अपने phpinfo की जांच करें। अगर pdo_pgsql और pgsql उपलब्ध हैं, तो मुझे लगता है कि कोई त्रुटि नहीं होगी। यदि उपलब्ध php संकुल के लिए yum सूची "php *" नहीं चला है। यहां आपको php5-pgsql/php-pdo_pgsql/php-pgsql जैसे पैकेज मिले। फिर पैकेज yum स्थापित php-pgsql इंस्टॉल करें और yum install php-pdo_pgsql इंस्टॉल करें। फिर अपाचे को पुनरारंभ करें। –

संबंधित मुद्दे