web-dev-qa-db-fra.com

Problème avec des fonctions JSON manquantes sur PHP 5.2.6 / Plesk 8.4

J'ai un vserver sous openSuse 10.3, Apache 2 et Plesk 8.4. Je ne peux pas mettre à jour/mettre à jour non plus, car il n’est apparemment pas recommandé de mettre à jour openSuse 10.3 (et une mise à jour vers EOL 10.4 ne semble pas avoir beaucoup de sens) et Plesk ne parvient pas à mettre à jour quelle que soit la version que j’essaie (même la mise à niveau vers 8.4.1). Je peux quand même vivre avec cela d’une certaine façon, principalement parce que je n’ai pas le temps de faire une nouvelle installation à distance sur le vserver.

Le problème, c’est que bien que le PHP installé soit 5.2.6, il n’a pas de bibliothèque Zip ni de fonction json. La première est probablement parce que PHP n'a pas été compilé avec --enable-Zip. La seconde est un grand mystère cependant. Si je comprends bien, il vient toujours avec PHP sauf si compilé avec l'option de configuration --disable-json. Ceci est cependant pas le cas. Et le module d'extension JSON n'est tout simplement pas là. J'ai même essayé de l'activer avec extension = json.so sans succès non plus.

les options de configuration de mon PHP sont (fournies avec Plesk 8.4)

'../configure' 
'--prefix=/usr' 
'--datadir=/usr/share/php5' 
'--mandir=/usr/share/man' 
'--bindir=/usr/bin' 
'--with-libdir=lib' 
'--includedir=/usr/include' 
'--sysconfdir=/etc/php5/Apache2' 
'--with-config-file-path=/etc/php5/Apache2' 
'--with-config-file-scan-dir=/etc/php5/conf.d' 
'--enable-libxml' 
'--enable-session' 
'--with-mm' 
'--with-pcre-regex=/usr' 
'--enable-xml' 
'--enable-simplexml' 
'--enable-spl' 
'--enable-filter' 
'--disable-debug' 
'--enable-inline-optimization' 
'--disable-rpath' 
'--disable-static' 
'--enable-shared' 
'--program-suffix=5' 
'--with-pic' 
'--with-gnu-ld' 
'--with-system-tzdata=/usr/share/zoneinfo' 
'--with-apxs2=/usr/sbin/apxs2' 
'--disable-all' 
'--disable-cli'

Si je comprends bien, PECL n'est pas une option avec 5.2.6. Ou est-ce que je me trompe? Même si ce n'était pas le cas, le référentiel openSuse ne va que jusqu'à PHP 5.2.4. L’installation openSuse est même arrivée sans zypper, que j’ai dû installer manuellement.

Existe-t-il donc un moyen d’exécuter ziplib et json sous PHP 5.2.6 sans avoir à recompiler le fichier binaire?

3
maddrag0n

Si cela s'est déjà produit, il semble que l'extension json n'ait pas été incluse pour une raison quelconque. Ce problème peut être résolu en téléchargeant le fichier json.so à partir du référentiel source PHP, en le téléchargeant dans le répertoire /usr/lib/php5/extensions, puis en redémarrant Apache. Cela fonctionnera bien à partir de là.

1
Chris Rutherfurd