Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
je suis nouvelle utilisatrice de postgreSQL 10 et là j'essaie d'accéder à ma base avec un select tout simple via php. Je ne comprend pas pourquoi ma connexion ne se fait pas.
Le fichier php sur se trouve sur un autre serveur que celui où est installé postgres mais j'ai bien entré l'autorisation dans le fichier pg_hba de mon instance avec
host all all xxx.xxx.xxx.xx/32 md5 (les x sont remplacés par la vraie ip)
Je n'ai aucun retour dans les log de l'instance, du coup je ne sais pas pourquoi cela ne fonctionne pas. J'ai essayé ceci :
$conn= pg_connect( "host=$sid_post port=$port dbname=$base_postgres user=$user_postgres password=$pass_postgres");
if (!$conn){
print pg_last_error($conn);
echo "error connection";
} else {
echo 'everything was ok';
}
mais rien de rien ne s'affiche.
Pourriez-vous me dire ce qui cloche et ce que j'ai oublié de faire por que cela fonctionne svp ?
J'avais aussi pensé à utiliser PDO pour PDOexception mais il me manque le driver. Mais avant cela j'aimerai bien comprendre pourquoi cela ne marche pas avec une simple requête de connexion.
Merci pour votre aide
Hors ligne
Si vous n'avez absolument aucun retour, cela sent le firewall qui vous empêche la connexion. Ce serait la première chose que je vérifierais.
Attention qu'au niveau de PostgreSQL, il faut aussi avoir configurer le paramètre listen_addresses.
Guillaume.
Hors ligne
Merci pour votre retour,
en fait il me manquait des extensions. postgres était bien installé mais pas complètement.
Merci !
Hors ligne
Lorsque pg_connect échoue, il affiche ou non une erreur en fonction du paramètre php display_errors et éventuellement de error_log.
S'il ne le fait pas, pg_last_error($conn) ne le fera pas non plus parce que $conn sera vide.
Il faudrait plutôt faire par exemple
echo htmlentities(error_get_last()['message']);
pour avoir le message lorsque pg_connect() a renvoyé false.
La recommandation pour les sites de prod est de ne pas afficher par défaut les erreurs à l'écran, puisque ça peut fuiter des informations qu'un visiteur n'a pas à connaitre.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Ok c'est noté,
merci beaucoup pour ton explication !
Hors ligne
Pages : 1