Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/03/2007, 16h49   #1
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
Par défaut pg_escape_bytea() fonction non définie alors que bonne version de Postgres

Bonjour tout le monde
Je suis en train d'installer une plateforme collaborative.

Lors de la création d'une table dans la base PostGre de cette plateforme j'ai une erreur suivant

Code :
Call TO undefined FUNCTION: pg_escape_bytea() IN /home/demo/phpgwapi/inc/adodb/drivers/adodb-postgres64.inc.php ON line 407

Après recherche sur le Web, il semble que ce soit lié à un problème de version de Postgre, cette fonction pg_escape_bytea() n'apparaissant qu'après la 7.2

Pourtant ma version de PostgreSQL est la 7.4.14 d'après l'interface Webmin que j'utilise principalement.

J'ai recompilé dernièrment PHP avec les commandes suivantes :

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-dbase --with-filepro --enable-exif --with-xml --enable-ftp --with-db --enable-bcmath --enable-calendar --with-jpeg-dir --with-png-dir --with-gd --enable-gd-native-ttf --with-freetype-dir --with-gettext --with-mysql --with-zlib-dir --enable-trans-sid --with-imap --with-kerberos --with-imap-ssl --with-openssl --enable-sysvsem --enable-sysvshm --with-gettext --with-dom --with-mcrypt --with-iconv --enable-mbstring=all --enable-mbregex --with-gd --with-png-dir=/usr --with-jpeg-dir=/usr --with-mime-magic=/usr/share/magic.mime --with-pgsql=/usr/bin/pg_config

Si je vais dans /usr/bin/ je ne trouve pas de fichier pg_config

Avez vous une idée de comment je peux régler ça ?
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 17h14   #2
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
J'ai recompilé php4 avec un changement dans l'option suivante
--with-pgsql=/usr/local/pgsql/bin/pg_config

Ca ne change rien
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 17h52   #3
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
avec pg_config --version .. ça me donne la bonne version 7.4.14
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 18h12   #4
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
Citation:
Envoyé par twoerly
avec pg_config --version .. ça me donne la bonne version 7.4.14
vous exécutez PHP via des pagaes Web ?

-> il faut voir comment PHP est invoqué par le serveur Web et vérifier que le serveur Web utilise bien votre nouvelle version de PHP et éventuellement qu'il n'y ait pas un module spécifique au serveur Web à recompiler et réinstaller (et donc aussi redémarrer le serveur Web…)
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 18h45   #5
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
Citation:
Envoyé par JeitEmgie
vous exécutez PHP via des pagaes Web ?

-> il faut voir comment PHP est invoqué par le serveur Web et vérifier que le serveur Web utilise bien votre nouvelle version de PHP et éventuellement qu'il n'y ait pas un module spécifique au serveur Web à recompiler et réinstaller (et donc aussi redémarrer le serveur Web…)
Il s'agit d'Apache 2.0.59

Il faudrait donc que je recompile Apache et le redémarre aussi ?

Oui, je vais essayer
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 19h11   #6
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
Citation:
Envoyé par twoerly
Il s'agit d'Apache 2.0.59

Il faudrait donc que je recompile Apache et le redémarre aussi ?

Oui, je vais essayer
non pas recompiler tout Apache,
mais regarder si Apache utilise mod_php ou libphpX.so et mettre à jour ce composant…

et ensuite redémarrer Apache…
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 09h51   #7
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
J'ai bien libphp4.so dans le répertoire modules, et j'ai un LoadModule dans le httpd.conf

LoadModule php4_module modules/libphp4.so

(Bien entendu, le ServerRoot est aussi correct pour l'emplacement des fichiers)
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 10h41   #8
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
Pour info, mon phpinfo() montre une section pgsql sans indiquer la version

Ce que je ne comprends pas c'est qu'il indique une commande de configuration
'./configure' (...) '--with-pgsql=/usr/bin/pg_config'

Alors que j'avais recompilé avec --with-pgsql=/usr/local/pgsql/bin/pg_config'

Car il n'y a pas de pg_config dans /usr/bin/
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 11h00   #9
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
Citation:
Envoyé par twoerly
Pour info, mon phpinfo() montre une section pgsql sans indiquer la version

Ce que je ne comprends pas c'est qu'il indique une commande de configuration
'./configure' (...) '--with-pgsql=/usr/bin/pg_config'

Alors que j'avais recompilé avec --with-pgsql=/usr/local/pgsql/bin/pg_config'

Car il n'y a pas de pg_config dans /usr/bin/
votre php est sans doute correct mais il faut installer les librairies PHP pour Apache là où ce dernier s'attend à les trouver, et tant que vous ne le redémarrez pas, Apache indiquera la version de l'ancienne librarie dynamique…

(regardez votre /etc/httpd/conf/httpd.conf … pour savoir comment Apache utilise PHP : via mod_php ou via une shared lib…)
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 11h45   #10
Membre habitué
 
Avatar de Cyberbob002
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 130
Points : 130
As tu rechargé la configuration ?

Code :
/etc/init.d/apache2 reload
Cyberbob002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 12h58   #11
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
Citation:
Envoyé par JeitEmgie
votre php est sans doute correct mais il faut installer les librairies PHP pour Apache là où ce dernier s'attend à les trouver, et tant que vous ne le redémarrez pas, Apache indiquera la version de l'ancienne librarie dynamique…

(regardez votre /etc/httpd/conf/httpd.conf … pour savoir comment Apache utilise PHP : via mod_php ou via une shared lib…)
Comme indiqué plus haut, j'ai bien libphp4.so dans le répertoire /usr/local/apache2/modules
et la ligne suivante dans mon httpd.conf

LoadModule php4_module modules/libphp4.so
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 13h00   #12
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
Citation:
Envoyé par Cyberbob002
As tu rechargé la configuration ?

Code :
/etc/init.d/apache2 reload
J'ai fait un find / -name reload

Je n'ai un reload que pour l'appli Webmin.
Je n'ai pas de
/etc/init.d/apache2

J'utilise apachectl
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 15h19   #13
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
Citation:
Envoyé par twoerly
J'ai fait un find / -name reload

Je n'ai un reload que pour l'appli Webmin.
Je n'ai pas de
/etc/init.d/apache2

J'utilise apachectl
reload est un paramètre… pas un nom de script…
et s'il n'y a pas de /etc/init.d/apache2 c'est peut-être qu'il s'appelle
/etc/init.d/httpd


(apachectl doit fonctionner aussi évidemment…)
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 16h14   #14
Membre habitué
 
Avatar de Cyberbob002
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 130
Points : 130
Citation:
Envoyé par twoerly
J'utilise apachectl
Alors un petit
Citation:
apachectl graceful
devrait être mieux
Cyberbob002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 17h38   #15
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
Citation:
Envoyé par Cyberbob002
Alors un petit devrait être mieux
apachectl graceful existe effectivement, mais ça ne change rien ...

Enfin ... y'a pas de problème de syntaxe des fichiers de config
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2007, 07h39   #16
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
Citation:
Envoyé par twoerly
apachectl graceful existe effectivement, mais ça ne change rien ...

Enfin ... y'a pas de problème de syntaxe des fichiers de config

mais est-ce que la librairie libphp4.so utilisée par apache est bien la nouvelle ?
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 11h00   #17
Invité de passage
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 2
Points : 2
Merci JeitEmgie

Désolé pour le délai de réponse, j'avais pris un long week end..
En fait, je pense que tu avais raison. La dernière version du libphp4.so datait de novembre.

J'ai fait une remise à jour de PHP 4 avec la dernière version 4.4.6
Quasiment la même commande configure que ci dessus (avec --with-pgsql=/usr/local/pgsql/bin/pg_config)

make et make install

j'ai eu un petit souci au redémarrage de Apache puisqu'il a tenté de recréer le log apache_runtime_status alors qu'il existait déjà. J'ai viré ce fichier.

Apache relancé, j'ai retesté mon appli et l'erreur décrite a disparu.

Encore merci !
twoerly est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h02.


 
 
 
 
Partenaires

Hébergement Web