web-dev-qa-db-fra.com

Comment se connecter à POSTGRESQL dans Codeigniter 3?

J'essaie de me connecter à PostgreSQL en utilisant le framework Codeigniter. Maintenant dans mon database.php

J'ai le code suivant :

$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
);

Mais quand j'exécute mon site dans localhost, j'obtiens l'erreur de base de données suivante:

Une erreur PHP a été rencontrée

Gravité: avertissement

Message: pg_connect (): Impossible de se connecter au serveur PostgreSQL: impossible de se connecter au serveur: Autorisation refusée Le serveur s'exécute-t-il sur l'hôte "localhost" (:: 1) et accepte-t-il les connexions TCP/IP sur le port 5432? impossible de se connecter au serveur: Autorisation refusée Le serveur est-il exécuté sur l'hôte "localhost" (127.0.0.1) et accepte-t-il les connexions TCP/IP sur le port 5432?

Nom de fichier: postgre/postgre_driver.php

Numéro de ligne: 154

J'ai essayé de mettre cela dans mon fichier PostgreSQL.conf:

listen_addresses = '*'

Où vais-je mal?

7
Rajan

Commencez par activer l'extension Postgresql dans php.ini

extension=php_pgsql.dll

Vous pouvez également activer l'extension Postgresql pour PDO.

extension=php_pdo_pgsql.dll


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

OR

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

Configuration de la base de données dans codeigniter.com

5
Abdulla Nilam
  1. D'abord activer ces deux extensions

    extension=php_pgsql.dll
    extension=php_pdo_pgsql.dll
    
  2. Puis redémarrez Apache
  3. Ajoutez $ db ['default'] ['port'] = 5432 dans le fichier database.php avec tous les autres codes.
1
Abdullah Al Shakib