|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
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 ? |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
J'ai recompilé php4 avec un changement dans l'option suivante
--with-pgsql=/usr/local/pgsql/bin/pg_config Ca ne change rien |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
avec pg_config --version .. ça me donne la bonne version 7.4.14
|
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 292 ![]() |
Citation:
-> 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…) |
|
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
Citation:
Il faudrait donc que je recompile Apache et le redémarre aussi ? Oui, je vais essayer |
|
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 292 ![]() |
Citation:
mais regarder si Apache utilise mod_php ou libphpX.so et mettre à jour ce composant… et ensuite redémarrer Apache… |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
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) |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
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/ |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 292 ![]() |
Citation:
(regardez votre /etc/httpd/conf/httpd.conf … pour savoir comment Apache utilise PHP : via mod_php ou via une shared lib…) |
|
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : mai 2003 Messages : 140 ![]() |
As tu rechargé la configuration ?
|
|
|
00
|
|
|
#11 | |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
Citation:
et la ligne suivante dans mon httpd.conf LoadModule php4_module modules/libphp4.so |
|
|
|
00
|
|
|
#12 | |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
Citation:
Je n'ai un reload que pour l'appli Webmin. Je n'ai pas de /etc/init.d/apache2 J'utilise apachectl |
|
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 292 ![]() |
Citation:
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…) |
|
|
|
00
|
|
|
#14 | ||
|
Membre habitué
![]() Inscription : mai 2003 Messages : 140 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#15 | |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
Citation:
Enfin ... y'a pas de problème de syntaxe des fichiers de config |
|
|
|
00
|
|
|
#16 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 292 ![]() |
Citation:
mais est-ce que la librairie libphp4.so utilisée par apache est bien la nouvelle ? |
|
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 11 ![]() |
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 ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com