web-dev-qa-db-ja.com

PHP 5.2.6 / Plesk 8.4でJSON関数が見つからない問題

OpenSuse 10.3、Apache 2、およびPlesk 8.4を実行している仮想サーバーがあります。 openSuse 10.3のアップグレードは明らかに推奨されておらず(そしてEOL 10.4へのアップデートはあまり意味がないようです)、どのバージョンを試してもPleskがアップデートに失敗します(アップグレードに失敗しても) 8.4.1)。それでも、私はそれをどうにかして生きることができます。これは主に、vserverで新しいリモートインストールを行う時間がないためです。

本当に問題なのは、インストールされたPHPが5.2.6であるにも関わらず、Zipライブラリとjson関数がないことです。最初の理由は、おそらくPHPが--enable-Zipでコンパイルされていないためです。 2番目は大きな謎です。私が理解しているように、--disable-json configureオプションでコンパイルされていない限り、常にPHPが付属しています。ただし、そうではありません。また、json拡張モジュールは存在しません。 extension = json.soでそれを有効にしようとしても、運もありませんでした。

PHPの設定オプションは(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'

私の理解では、PECLは5.2.6のオプションではありません。または私は間違っていますか?私がそうでなかったとしても、openSuseリポジトリはPHP 5.2.4までしかありません。 openSuseのインストールにはzypperが含まれていなかったため、手動でインストールする必要がありました。

バイナリを再コンパイルせずにPHP 5.2.6でziplibとjsonを実行する方法はありますか?

3
maddrag0n

これが発生した場合、何らかの理由でjson拡張が何らかの理由で含まれていなかったように聞こえます。これは、PHPソースリポジトリからjson.soファイルをダウンロードし、/usr/lib/php5/extensionsディレクトリにアップロードしてからApacheを再起動することで修正できます。そこから正常に動作します。

1