- 締切済み
phpにてjsonの利用ができなくなりました
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 で全てのアップデートを行っています。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hogehoge78
- ベストアンサー率80% (433/539)
phpinfo()で表示される情報の、最初のほうの表の中に「Loaded Configuration File」という項目があると思いますが、これが現在実行しているPHPが参照しているphp.iniファイルになるのですが、 そのphp.ini内で、extensionを読むように記述されていますか? また、記述があるということだったら、今度はCentOSだと違うかもしれませんが、 /var/log あたりに保存されるApacheのエラーログとかを見てみて、なんか文句言われていないか確認してみてはいかがでしょう。
- samdeco
- ベストアンサー率30% (6/20)
jsonではなくmysqlで同じような現象に悩んだことがあって その経験から言いますので外れてるかもですが、 パスが通っているディレクトリにphp.iniが2つ存在していませんかね? たとえば /etc配下と/usr配下にそれぞれあるとか。 #updatedb #locate php.ini とかで確認してみてください。
お礼
回答ありがとうございます! #updatedb #locate php.ini やってみたのですが、/etc の下に一つだけでした。 その他にも何か施せる術があればご教授お願いします。 CentOSなのですが、最悪、php5.2へアップデートを試みてみようかと考え中です。
お礼
ご回答ありがとうございました。 遅くなりましたが、 php.iniにextension記述はありました。 またエラーログには特に出力はなく・・。 その他お気づきになられた点あればお願い致します!