とあるセクシーなデータ分析官

を目指す渋谷で働くソーシャルゲーム分析者の卵

PHPのAPIでJSONを結果として出力するには

APIの結果をJSONで出力する


まずはJSONを使うためにはPHP5.2以上であるか、
そうでなければPECLでインストールしなければならないとのこと。
今回の開発環境は5.2未満であったためPECLでダウンロードすることにしました。

pecl install json

結果:

running: phpize
sh: phpize: command not found
ERROR: `phpize' failed

エラーでちゃいました。phpizeがないとのことです。


検索したらこちらの方も同様のエラーが出ているようす。
参考:http://labs.uechoco.com/blog/2008/04/phppecl.html
なので、こちらの解決策を使わせていただきました。

yum install php-devel


これでpeclがインストールされるので、peclでjsonのインストールを行う

pecl install json


そしたらこんなエラーが出てしまいました

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 16 bytes) in /usr/share/pear/PEAR/Registry.php on line 1061
Allowed memory size of 8388608 bytes exhausted (tried to allocate 23 bytes)


上の参考にさせていただいたサイトの人と同じ事象ですね。
同様に参考にしてメモリーの設定を調整しました。
pearcmd.phpに下記を追記

ini_set(‘memory_limit’, ‘16M’); 

最後にjsonをロードさせるためにphp.iniに以下を記載してフィニッシュ。

extension=json.so

参考:http://blog.katsuma.tv/2008/02/install_pecl_json.html



これで問題なくjson_encode()を使用することができました!