IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Connexion via apache impossible mais ok en ligne de commande [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    INGENIEUR DE RECHERCHE
    Inscrit en
    Février 2003
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : INGENIEUR DE RECHERCHE

    Informations forums :
    Inscription : Février 2003
    Messages : 74
    Points : 87
    Points
    87
    Par défaut Connexion via apache impossible mais ok en ligne de commande
    Bonjour,

    Il m'est impossible d'établir une connection à ma base de donnée PostgreSql via Apache. Par contre ok en ligne de commande. Là je cale
    Le code est des plus basique, je l'ai simplifié à l'extrème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
     
    	echo "test de connexion \n";
     
    	$connection = pg_connect("host='localhost' port=5432 dbname='name_database' user='name_user' password='*****'") or die("impossible de se connecter PostGreSql ");
     
    	echo "connection passée \n";
     
     
    ?>
    J'ai essayé de récupérer une erreur en utilisant pg_last_error, mais rien çà s'arrête au moment de la connexion

    Voici configuration PHP, je suis sous Fedora 16
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    PDO
    PDO support	enabled
    PDO drivers 	pgsql, sqlite
     
    pdo_pgsql
    PDO Driver for PostgreSQL	enabled
    PostgreSQL(libpq) Version 	9.1.3
    Module version 	1.0.2
    Revision 	$Id$
     
    pdo_sqlite
    PDO Driver for SQLite 3.x	enabled
    SQLite Library 	3.7.7.1
     
    pgsql
    PostgreSQL Support	enabled
    PostgreSQL(libpq) Version 	9.1.3
    Multibyte character support 	enabled
    SSL support 	enabled
    Active Persistent Links 	0
    Active Links 	0
     
    Directive	Local Value	Master Value
    pgsql.allow_persistent	On	On
    pgsql.auto_reset_persistent	Off	Off
    pgsql.ignore_notice	Off	Off
    pgsql.log_notice	Off	Off
    pgsql.max_links	Unlimited	Unlimited
    pgsql.max_persistent	Unlimited	Unlimited
    Un problème de droits? je ne sais plus...
    Merci pour vos idées
    Spiale

  2. #2
    Membre éprouvé
    Avatar de Gecko
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Décembre 2008
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Décembre 2008
    Messages : 499
    Points : 1 277
    Points
    1 277
    Par défaut
    Salut!

    Je vois que tu as le support de PDO actif, je te suggère de l'utiliser
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdo = new PDO('pgsql:host=localhost;dbname=name_database;','user','password');

    L'avantage de PDO est que les requêtes sont plus simples à gérer et tu peux changer le SGBD de ton application sans avoir de problèmes majeurs

    La doc officielle: http://php.net/manual/fr/book.pdo.php

    Ensuite si ta base est en UTF-8 il faut que tu indique l'encodage lors de la connexion, sinon ça plante
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdo = new PDO('pgsql:host=localhost options=\'--client_encoding=UTF-8\';dbname=name_database;','user','password');
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($toBe || !$toBe) echo 'That is the question';

    Mes projets: DVP I/O

  3. #3
    Membre régulier
    Profil pro
    INGENIEUR DE RECHERCHE
    Inscrit en
    Février 2003
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : INGENIEUR DE RECHERCHE

    Informations forums :
    Inscription : Février 2003
    Messages : 74
    Points : 87
    Points
    87
    Par défaut
    Le blocage vient de SELinux, le système de sécurité. La solution est de permettre aux modules d'apache d'accéder aux réseaux tcp sur tous les ports.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #setsebool -P httpd_can_network_connect on
    L'option -P permet de rendre la directive permanente.

    Je vais regarder PDO maintenant

    A+
    Spiale

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PostgreSQL] Connexion à PostGres via PHP impossible à partir du serveur web mais pas en ligne de commande
    Par finition dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/05/2010, 13h47
  2. WinXP|Home|SP3 - Connexion via WiFi impossible
    Par Aramis dans le forum Windows XP
    Réponses: 4
    Dernier message: 12/09/2008, 11h20
  3. Réponses: 2
    Dernier message: 04/09/2008, 18h07
  4. Serveur LAMP, connexion via phpMyAdmin impossible
    Par bricetouk dans le forum Installation
    Réponses: 6
    Dernier message: 11/12/2006, 19h52
  5. [phpMyAdmin] Serveur LAMP, connexion via phpMyAdmin impossible
    Par bricetouk dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 11/12/2006, 19h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo