Pages: 1
- Sujet précédent - connexion php à postgreSQL : undefined function pg_connect() - Sujet suivant
#1 Wed 18 March 2009 11:06
- Anna
- Juste Inscrit !
- Lieu: Saint-ouen
- Date d'inscription: 27 Apr 2008
- Messages: 7
connexion php à postgreSQL : undefined function pg_connect()
Bonjour,
Dans le cadre d'une application de cartographie sur un internet, je cherche à accéder à une base de donnée Postgre/postgis depuis un navigateur web avec du php5.
Je fais appel à la fonction pg_connect(host=localhost dbname=Duclos user=postgres password=postgres);
Or quand je lance ma page j'obtiens le message d'erreur suivant : Fatal error: Call to undefined function pg_connect()
Après recherches sur internet :
- j'ai modifié le fichier php.ini afin que les extensions pgsql ne soient plus commentées.
- J'ai bien vérifié que j'avais les fichiers .dll dans mon dossier /ext
- Je les ai remplacés par des versions plus anciennes puisque visiblement après php5.2.5 ils sont vérolés (php5.2.5).
- Le chemin vers le dossier /ext dans le fichier php.ini semble correct.
- J'ai rajouté à mon code la ligne :
if (extension_loaded('pgsql'))
echo 'loaded';
else
echo 'unloaded';
Cela me renvoie toujours unloaded.
- Enfin dans mon fichier logs il n'y a qu'un seul message d'erreur : Fatal error: Call to undefined function pg_connect()
- bien sur entre chaque opération j'ai redémarré le serveur (wampserver) voir parfois redémarré l'ordinateur lui-même.
Voilà, je suis sous windows vista. Php 5.2.5. Wampserver2. navigateur firefox (javascript activé). Je ne sais pas quelles informations donner de plus.
Si quelqu'un a une suggestion ou une idée je suis preneuse...
Merci d'avance!
Hors ligne
#2 Wed 18 March 2009 12:57
Re: connexion php à postgreSQL : undefined function pg_connect()
Salut,
As-tu fait un phpinfo()?
Pour cela, il faut copier
Code:
<?php phpinfo(); ?>
dans un fichier info.php à la racine (par exemple sous wampserver, www) et allez via votre navigateur sur http://localhost/info.php
Es-ce que Postgresql ou pgsql est cité après cette manipulation?
Ta dll chargée c'est bien php_pgsql?
Cordialement
ThomasG
Hors ligne
#3 Wed 18 March 2009 13:23
- Anna
- Juste Inscrit !
- Lieu: Saint-ouen
- Date d'inscription: 27 Apr 2008
- Messages: 7
Re: connexion php à postgreSQL : undefined function pg_connect()
Je viens de faire un phpinfo(). Il n'y a pas de sous-partie postgreSQL comme il y en a une pour MySQL. Devrait il en avoir une ?
J'ai chargé les dll php_pgsql et php_pdo_pgsql.dll
Est-ce que je copie une partie du phpinfo() ? Ca peut aider?
Merci,
Anna
EDIT : Postgres est cité des les variables d'environnement et les variables php.
Dernière modification par Anna (Wed 18 March 2009 13:25)
Hors ligne
#4 Wed 18 March 2009 13:29
Re: connexion php à postgreSQL : undefined function pg_connect()
Bonjour Anna,
Comme l'a sous-entendu ThomasG, si tu n'as pas l'extension pgsql (comme celle de mysql) chargée dans php, tu ne pourras pas aller plus loin. Il faut donc l'activer soit dans le fichier php.ini soit créer dans conf.d/ le fichier pgsql.ini, et y insérer :
Code:
# configuration for php PostgreSQL module extension=pgsql.dll
Toujours vérifier que ton phpinfo affiche l'extension pgsql avant d'aller plus loin.
Tu trouveras de la doc pour activer une extension sous Windows sur Internet.
Y.
[img]http://georezo.net/forum/attachment.php?item=2563&download=1[/img]
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Wed 18 March 2009 14:01
- Anna
- Juste Inscrit !
- Lieu: Saint-ouen
- Date d'inscription: 27 Apr 2008
- Messages: 7
Re: connexion php à postgreSQL : undefined function pg_connect()
Il faut donc l'activer soit dans le fichier php.ini
Ok, ça j'ai bien vérifié c'est bon.
soit créer dans conf.d/ le fichier pgsql.ini
Juste une question conf.d c'est un dossier qui est censé exister où ? Parce que dans mon ordi je ne le trouve pas. Je le crée dans bin/php/php5.2.5/ ?
Il ne semble pas exister d'extension pgsql.dll mais seulement php_pgsql.dll et php_pdo_pgsql.dll et plpgsql.dll, je marque quand même extension=pgsql.dll ?
Désolée pour toutes ces questions, je me nage un peu là...
Merci pour ces conseils,
Anna
Hors ligne
#6 Wed 18 March 2009 14:04
Re: connexion php à postgreSQL : undefined function pg_connect()
Yves a écrit:Il faut donc l'activer soit dans le fichier php.ini
Ok, ça j'ai bien vérifié c'est bon.Yves a écrit:soit créer dans conf.d/ le fichier pgsql.ini
Juste une question conf.d c'est un dossier qui est censé exister où ? Parce que dans mon ordi je ne le trouve pas. Je le crée dans bin/php/php5.2.5/ ?
Il ne semble pas exister d'extension pgsql.dll mais seulement php_pgsql.dll et php_pdo_pgsql.dll et plpgsql.dll, je marque quand même extension=pgsql.dll ?
Désolée pour toutes ces questions, je me nage un peu là...
Merci pour ces conseils,
Anna
Si c'est bon dans le php.ini, pas besoin de rajouter le fichier pgsql.ini, conf.d se trouve dans /etc/php/apache2/conf.d/ (sous linux).
Il faut bien sur adapter le nom de la dll
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Wed 18 March 2009 16:29
- jmz
- Participant actif
- Lieu: Anthon
- Date d'inscription: 5 Sep 2005
- Messages: 142
Re: connexion php à postgreSQL : undefined function pg_connect()
Bonjour,
Le message d'erreur semble explicite, c'est bien la fonction "pg_connect" qui n'est pas reconnue, et c'est bien l'extension qui n'est pas chargée..
- Vérifie que ton extension est bien déclarée :Php info qui liste des extensions, versions, ect ... (fais juste une page php dans lequel tu écris phpinfo(); entre tes balises php).
Vérifie également : les noms des fichiers Dll / version PostGIs et version de Php compatibles.
Cordialement
Jmz
Hors ligne
#8 Thu 09 April 2009 11:56
- Fritsch
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 8 Nov 2006
- Messages: 32
Re: connexion php à postgreSQL : undefined function pg_connect()
Cela fait un an que la connexion PHP-PostgreSQL est chancelante dans les distributions windows.
Il y a 6 mois, il suffisait de remplacer les dll php_pgsql.dll par leurs équivalents dans une distributions antérieures.
Aujourd'hui, il semblerait que le problème soit plus sérieux. Je n'ai pas encore trouvé la solution.
Emmanuel.
Hors ligne
#9 Fri 10 April 2009 09:49
- Anna
- Juste Inscrit !
- Lieu: Saint-ouen
- Date d'inscription: 27 Apr 2008
- Messages: 7
Re: connexion php à postgreSQL : undefined function pg_connect()
Bonjour,
Merci pour tous ces conseils et désolée de ne pas avoir répondu plus tôt. Bloquée par ce problème et fasse à des contraintes de temps, j'ai fini par opté par une autre solution pour construire mon interface client.
J'espère que quelqu'un trouvera la solution.
Anna
Hors ligne
#10 Tue 22 May 2012 14:16
- Clag
- Juste Inscrit !
- Date d'inscription: 22 May 2012
- Messages: 2
Re: connexion php à postgreSQL : undefined function pg_connect()
Bonjour,
J'ai exactement le même problème qu'Anna. J'ai fait les mêmes vérifications ect... Ce problème a-t-il trouvé une solution depuis ?
Merci d'avance !
Hors ligne
#11 Tue 22 May 2012 16:52
- Clag
- Juste Inscrit !
- Date d'inscription: 22 May 2012
- Messages: 2
Re: connexion php à postgreSQL : undefined function pg_connect()
Problème résolu !
Si quelqu'un se pose la même question, voici l'url de mon sauveur : http://dominique-colombani.fr/domblog/i … hp-et-Wamp
et plus particulièrement (je cite)...
"
Tiens, la version la plus récente fait référence à une dll supplémentaire, libpq.dll.
Tiens, tiens, cette dll est présente dans le répertoire des binaires de php, mais ce répertoire n'est pas indiqué dans la variable d'environnement PATH...
Essayons en configurant correctement la variable PATH pour qu'elle contienne le répertoire des binaires de php (par exemple : c:\wamp\bin\php\php5.2.9-1) et en plaçant la version à jour de php_pgsql.dll dans le répertoire ext. Ça marche !
"
A savoir : libpq.dll doit être dans le bin d'apache aussi
Hors ligne
#12 Wed 23 May 2012 13:13
- Alexandre David
- Participant occasionnel
- Lieu: Saint-Etienne
- Date d'inscription: 27 Sep 2011
- Messages: 16
Re: connexion php à postgreSQL : undefined function pg_connect()
Pourquoi ne pas passer par la version de Apache préconfigurée pour Postgres et disponible directement à partir du StackBuilder ?
Dernière modification par Alexandre David (Wed 23 May 2012 13:17)
Hors ligne
#13 Mon 22 July 2013 13:42
- ghassen
- Juste Inscrit !
- Lieu: Tunis
- Date d'inscription: 22 Oct 2010
- Messages: 9
Re: connexion php à postgreSQL : undefined function pg_connect()
Le problème sera résolu tout simplement en copiant libpq.dll vers apache\bin\
puis redémarrer le serveur bien sur
Hors ligne
#14 Wed 24 July 2013 21:48
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: connexion php à postgreSQL : undefined function pg_connect()
Bonjour,
Pour installer une extension php tu démarres WAMP ensuite tu cliques sur l’icône WAMP en bas à droite
puis menu PHP -> Extensions PHP -> php_pgsql ou php_pdo_pgsql si tu travailles avec PDO
Cordialement.
Dernière modification par michel56 (Wed 24 July 2013 21:49)
Opérateur cartographique & DAO & PHP.
Hors ligne
Pages: 1
- Sujet précédent - connexion php à postgreSQL : undefined function pg_connect() - Sujet suivant