PHP5.1.x系でseezooを動かしたい場合は?
おそらくサーバー要件できついかもしれないのがjson_encode関数のサポートだと思います。
SimpleXML関数系はPHP5組み込みですが、json_encode関数のサポートはPHP5.2.0以上となっています。
よって、
PHP5.0 < 導入サーバーのPHPバージョン < PHP5.2
の場合、json関連の処理がまったくできない事になってしまいます。
その場合、例外的ではありますが、PEAR::Services_JSONを入れたら何とかなります。
Servieces_JSONのDLとインストール
PEAR::Serveice_JSONからダウンロードできます。
PEARのパッケージマネージャがあれば、コマンドからインストールできます。
# pear install Services_JSON-1.0.2
幸いにしてPEARの依存関係がないので単体で使用できます。
ダウンロードした場合は、解凍してできるJSON.phpをsystem/application/libraries/以下に設置します。
設置方法
この関数はグローバルで使いたいので、CodeIgniterのヘルパーに関数を追加します。
自作ヘルパーを作ってロードしても良いですし、
分からない方はsystem/application/helpers/seezoo_helper.phpに以下のコードを追加すればOKです。
// 念のために関数が存在するかチェック
if ( ! function_exists('json_encode') )
{
// JSON.phpをincludeしておく
require_once(APPPATH . 'libraries/JSON.php');
function json_encode($data)
{
// Services_JSONインスタンス生成
$json = new Services_JSON();
// encodeして値を返却
return $json->encode($data);
}
}
perr installコマンドでインストールした場合はinclude_pathはセットされているので、上記requireは
require_once('JSON.php');
でOKとなります。
これでjson_encode関数が擬似的にサポートされます。*1
もしもPHP5.1.xとかでseezooを動かしたい!ということがあればお試しくださいませ。
あ、あとインストーラではPHP5.2以上のチェックを行っているので、そこをスキップしないといけないですね。
後日パッチ配布予定です。
要望が多ければ、次回バージョンアップではService_JSONをデフォルトで組み込んだPHP5.1.x系対応版とする予定です。*2