it-swarm.com.de

Problem mit fehlenden JSON-Funktionen unter PHP 5.2.6 / Plesk 8.4

Ich habe einen vserver mit openSuse 10.3, Apache 2 und Plesk 8.4. Ich kann weder aktualisieren noch upgraden, da es anscheinend nicht empfehlenswert ist, openSuse 10.3 zu aktualisieren (und ein Update auf EOL 10.4 nicht sehr sinnvoll zu sein scheint) und Plesk unabhängig von der von mir getesteten Version keine Aktualisierung durchführt (sogar kein Upgrade auf diese Version möglich ist) 8.4.1). Trotzdem kann ich damit irgendwie leben, vor allem, weil ich nicht die Zeit habe, eine neue Remote-Installation auf dem vserver durchzuführen.

Was wirklich ein Problem ist, ist, dass das installierte PHP zwar 5.2.6 ist, aber keine Zip-Bibliothek und keine json-Funktionen hat. Der erste Grund ist wahrscheinlich, dass PHP nicht mit --enable-Zip kompiliert wurde. Das zweite ist jedoch ein großes Rätsel. Soweit ich weiß, wird es immer mit PHP geliefert, es sei denn, es wurde mit der Option --disable-json configure kompiliert. Dies ist jedoch nicht der Fall. Und das json-Erweiterungsmodul ist einfach nicht da. Ich habe sogar versucht, es mit extension = json.so ohne Glück zu aktivieren.

die Konfigurationsoptionen für mein PHP sind (im Lieferumfang von Plesk 8.4 enthalten).

'../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'

Nach meinem Verständnis ist PECL mit 5.2.6 keine Option. Oder irre ich mich? Selbst wenn nicht, reicht das openSuse-Repository nur bis zu PHP 5.2.4. Die openSuse-Installation kam sogar ohne Zypper aus, den ich manuell installieren musste.

Gibt es eine Möglichkeit, Ziplib und Json in PHP 5.2.6 zum Laufen zu bringen, ohne die Binärdatei neu kompilieren zu müssen?

3
maddrag0n

Wenn dies passiert ist, klingt es so, als wäre die json-Erweiterung aus irgendeinem Grund nicht enthalten. Dies kann behoben werden, indem die Datei json.so aus dem Quellrepository PHP heruntergeladen, in das Verzeichnis /usr/lib/php5/extensions hochgeladen und anschließend Apache neu gestartet wird. Wird von dort aus gut funktionieren.

1