プロが教える店舗&オフィスのセキュリティ対策術

phpにてjsonの利用ができなくなりました


yum phpインストール後 peclにてjsonをインストールし動いておりました。

ある時点よりPHPのjsonのエラーが出るようになり、プログラムが動かなくなりました。
解決方法わかる方いらっしゃいましたら、ご教授お願い致します。



エラー:
PHP Fatal error: Call to undefined function json_encode()

やってみたこと:
 yum php やphp-devel、pecl でjsonを入れなおしたり、
 php.ini php.d/json.ini を記述してみたり、
 jsonのtar.gzを落としてコンパイルしておいてみたり
 としたのですが、動きません.

その他状況:
・php -m にてjsonが表示されますが
・phpinfo()ではjsonの項目が表示されません

怪しい点:
利用できなくなった前後で
yum update で全てのアップデートを行っています。

よろしくお願いいたします。

A 回答 (2件)

phpinfo()で表示される情報の、最初のほうの表の中に「Loaded Configuration File」という項目があると思いますが、これが現在実行しているPHPが参照しているphp.iniファイルになるのですが、


そのphp.ini内で、extensionを読むように記述されていますか?

また、記述があるということだったら、今度はCentOSだと違うかもしれませんが、
/var/log
あたりに保存されるApacheのエラーログとかを見てみて、なんか文句言われていないか確認してみてはいかがでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
遅くなりましたが、
php.iniにextension記述はありました。

またエラーログには特に出力はなく・・。


その他お気づきになられた点あればお願い致します!

お礼日時:2010/09/27 13:42

jsonではなくmysqlで同じような現象に悩んだことがあって


その経験から言いますので外れてるかもですが、
パスが通っているディレクトリにphp.iniが2つ存在していませんかね?
たとえば
/etc配下と/usr配下にそれぞれあるとか。

#updatedb
#locate php.ini
とかで確認してみてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

#updatedb
#locate php.ini

やってみたのですが、/etc の下に一つだけでした。


その他にも何か施せる術があればご教授お願いします。
CentOSなのですが、最悪、php5.2へアップデートを試みてみようかと考え中です。

お礼日時:2010/09/16 18:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!