Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 21/06/2010 10:21:40
- chris0938
- Membre
configuration php.ini pour postgres
Bonjour,
Nous venons d'installer postgresql sur nos serveurs Redhat. lorsque je fais une page php pour tester la connexion j'ai ce message d'erreur:
"Fatal error: Call to undefined function: pg_connect() in /web/christel/testconnexionpostgres.php on line 37".
Apparemment cela serait du au fait que php.ini est pas configuré correctement pour postgres. Serait il possible de savoir ce qu'il faut modifier dans le php.ini pour que cela fonctionne.
merci d'avance.
Hors ligne
#2 21/06/2010 10:30:38
- Marc Cousin
- Membre
Re : configuration php.ini pour postgres
Il faut une ligne de déclaration comme celle ci :
extension=php_pgsql.dll
Marc.
Hors ligne
#3 21/06/2010 10:35:44
- chris0938
- Membre
Re : configuration php.ini pour postgres
j'ai bien cette ligne dans php.ini
;extension=php_pgsql.dll.
et voila ce que j'ai dans la partie postgreSQL de php.ini
[PostgresSQL]
; Allow or prevent persistent links.
pgsql.allow_persistent = On
; Detect broken persistent links always with pg_pconnect(). Need a little overhead.
pgsql.auto_reset_persistent = Off
; Maximum number of persistent links. -1 means no limit.
pgsql.max_persistent = -1
; Maximum number of links (persistent+non persistent). -1 means no limit.
pgsql.max_links = -1
; Ignore PostgreSQL backends Notice message or not.
pgsql.ignore_notice = 0
; Log PostgreSQL backends Noitce message or not.
; Unless pgsql.ignore_notice=0, module cannot log notice message.
pgsql.log_notice = 0
Hors ligne
#4 21/06/2010 10:47:31
- Marc Cousin
- Membre
Re : configuration php.ini pour postgres
Le ; est un caractère de commentaire. Il signifie que tout ce qui est derrière ne doit pas être lu.
Marc.
Hors ligne
#5 21/06/2010 10:51:35
- chris0938
- Membre
Re : configuration php.ini pour postgres
toutes les extensions de mon php.ini sont affichées comme cela. et oracle et mysql fonctionnent.
c'est pour cela que j'ai du mal a comprendre pourquoi postgres ne fonctionne pas
Dernière modification par chris0938 (21/06/2010 10:54:27)
Hors ligne
#6 21/06/2010 11:03:25
- Marc Cousin
- Membre
Re : configuration php.ini pour postgres
Décommentez le. Je ne sais pas pourquoi mysql et oracle fonctionnent. Peut être par l'inclusion d'autres fichiers.
Marc.
Hors ligne
#7 21/06/2010 11:18:40
- chris0938
- Membre
Re : configuration php.ini pour postgres
merci pour vos réponses , je vais changer cela.
et est ce que le problème viendrait de la où il peut avoir d'autre chose a modifier?
Hors ligne
#8 21/06/2010 11:35:53
- chris0938
- Membre
Re : configuration php.ini pour postgres
cela ne fonctionne toujours pas. j'ai fais une recherche de l'extension "llocate php_pgsql.dll" mais il ne le trouve pas alors que quand je fais "locate pgsql.so" il me le trouve a différent endroit.
est ce qu'il faudrait que je change: extension=php_pgsql.dll. en -> extension=php_pgsql.so ?
Hors ligne
#9 21/06/2010 11:50:22
- gleu
- Administrateur
Re : configuration php.ini pour postgres
Avez-vous installé le pilote PostgreSQL pour PHP ? sur mon Ubuntu, il s'agit du paquet php5-pgsql. Il doit y avoir la même chose pour RedHat.
Guillaume.
Hors ligne
#10 21/06/2010 11:57:56
- chris0938
- Membre
Re : configuration php.ini pour postgres
pour l'installation de postgres nous avons lancé cela avec rpm donc logiquement tout a été installé.
j'ai trouve cela en faisant des recherche sur php_pgsql : php_pgsql.h
Hors ligne
#11 21/06/2010 12:08:10
- chris0938
- Membre
Re : configuration php.ini pour postgres
lorsque je fais print_r(get_loaded_extensions()); dans une page php cela m'affiche cela:
Array ( [0] => xml [1] => tokenizer [2] => standard [3] => session [4] => posix [5] => overload [6] => oci8 [7] => mysql [8] => mbstring [9] => gd [10] => ftp [11] => ctype [12] => calendar [13] => bz2 [14] => zlib [15] => pcre [16] => apache [17] => sqlite )
et donc je n'ai pas postgres!
Hors ligne
#12 21/06/2010 13:44:54
- gleu
- Administrateur
Re : configuration php.ini pour postgres
Il y a une différence entre l'installation du moteur PostgreSQL et des pilotes. Que vous donne un "rpm -qa | grep php" ? d'après ma VM CentOS, il faut que le paquet php-pgsql soit installé.
Guillaume.
Hors ligne
#13 21/06/2010 13:54:27
- chris0938
- Membre
Re : configuration php.ini pour postgres
rien ne s'affiche!! bizarre!?
Hors ligne
#14 21/06/2010 14:20:28
- gleu
- Administrateur
Re : configuration php.ini pour postgres
En effet, bizarre... vous devriez au moins avoir une ligne pour indiquer que php est installé.
Guillaume.
Hors ligne
#15 21/06/2010 14:37:03
- chris0938
- Membre
Re : configuration php.ini pour postgres
enfaite je viens de me renseigner et c'est normal que je vois même pas php car il a surement du être installé avec les sources sans passer par les rpm.
Hors ligne
#16 21/06/2010 14:50:57
- chris0938
- Membre
Re : configuration php.ini pour postgres
j'ai regardé dans le log d'apache est voila ce qui resort:
PHP Warning: Unknown(): Unable to load dynamic library '/**/php449/lib/php/extensions/no-debug-non-zts-20020429/php_pgsql.dll' - /**/php449/lib/php/extensions/no-debug-non-zts-20020429/php_pgsql.dll: cannot open shared object file: No such file or directory in Unknown on line 0
la librairie php_pgsql.dll n'existe pas si j'ai bien compris!
comment y remédier?
Hors ligne
#17 21/06/2010 15:16:00
- Marc Cousin
- Membre
Re : configuration php.ini pour postgres
Ou du moins elle n'est pas dans le chemin par défaut. Demandez aux personnes l'ayant compilé où il se trouve.
Marc.
Hors ligne
#18 21/06/2010 15:42:40
- chris0938
- Membre
Re : configuration php.ini pour postgres
je vous prie de m'excuser je n'en ai pas parle mais je suis sur linux donc c'est avec les .so que je dois rajouter l'extension. j'ai fait un locate pgsql.so et il m'affiche ceux ci plpgsql.so est ce le bon?
Hors ligne
#19 21/06/2010 16:38:14
- Marc Cousin
- Membre
Re : configuration php.ini pour postgres
Proabalement. Essayez de mettre le chemin complet dans le fichier de configuration. Par contre dans ce cas quel rapport avec l'entrée en .dll, qui est effectivement une entrée windows ??
Marc.
Hors ligne
#20 21/06/2010 16:44:39
- gleu
- Administrateur
Re : configuration php.ini pour postgres
Oula, non, plpgsql.so est la bibliothèque pour le langage PL/pgsql. Rien à voir avec PHP.
Guillaume.
Hors ligne
#21 22/06/2010 09:04:49
- chris0938
- Membre
Re : configuration php.ini pour postgres
bonjour,
effectivement ce n'est pas le bon. j'avais effectué une recherche et c'est ce qui était dit sur le plsql.so.
j'ai récupéré une version de psql.so est ce que je peux l'installer sans risque? je ne voudrais pas faire de betisse
Hors ligne
#22 22/06/2010 09:23:28
- Marc Cousin
- Membre
Re : configuration php.ini pour postgres
Non, installez le package approprié à votre distribution linux. Par ailleurs votre fichier php.ini est très étrange pour un système linux, on dirait un php.ini d'une version windows. D'où vient il ?
Marc.
Hors ligne
#23 22/06/2010 09:33:32
- chris0938
- Membre
Re : configuration php.ini pour postgres
tout ce que je sais c'est que je l'ai pris sur le serveur.c'est tout ce que je pourrais dire sur sa provenance.
ce qui est écrit est peut être donné a titre d'exemple simplement.
le serveur est x86_34-redhat-linux3E.
Hors ligne
#24 22/06/2010 10:22:24
- Marc Cousin
- Membre
Re : configuration php.ini pour postgres
Je résume :
- Vous avez un problème de paramétrage PHP, avec un fichier de paramétrage PHP bizarre qui semble provenir d'une machine windows. À moins qu'il ne s'agisse que d'une ligne de commentaire, mais à ma connaissance, la seule en commentaire en 'dll' sous Linux est msql.dll
- Sur un serveur Linux, dont vous ne pouvez pas me dire ce que c'est
Je ne vois pas comment vous aider. Procurez vous des informations, adressez vous à un administrateur système.
Il vous faut :
- Le package approprié (celui de votre distribution linux). Il s'appellera probablement php_pgsql, php-pgsql, php-postgresql ou quelque chose de ce genre
- Une ligne "extension=pgsql.so" dans votre php.ini.
Le reste n'est plus tellement de notre ressort.
Dernière modification par Marc Cousin (22/06/2010 10:23:21)
Marc.
Hors ligne
#25 22/06/2010 10:34:26
- chris0938
- Membre
Re : configuration php.ini pour postgres
je vous remercie d'avoir essayer de m'aider.
une dernière question normalement le pgsql.so n'aurait il pas du s'installer quelque part en même temps que postgres?
Dernière modification par chris0938 (22/06/2010 10:36:08)
Hors ligne