先日のオープンソースカンファレンス名古屋2010(以下OSC)でキックオフとなった、
seezoo cms
OSCで担当の方とちょっとだけ意気投合したので、
帰宅後触ってみたらconcreat5っぽいのでいいなぁと思ったので、
ぜひ、開発(主にEC用のプラグインになるかと思いますが)に参加したい!
と思ったら、
私が普段メインで使っているクララオンラインの専用サーバーのPHPは
Ver5.1.6なので、要件をみたしてない(T_T)
とTwtterで嘆いたところ、公式アカウントが
json_encode()だけどうにかできれば、5.1でも使えるとのこと!
ありがたい事に、公式ブログでも対応方法を書いていただけた。
ただ、私はマルチバイトを簡単に扱えて、なおかつ、staticでも使えるJsphonのが好きなので、
こちらで対応した(後述)。
というわけで、クララオンラインのサーバーにインストールする手順。
1)seezoo公式からシステムDL
↓
2)json_encode()を擬似的に作成
↓
3)インストーラーがPHPのバージョンチェックをしているので、これをスキップ
↓
4) 通常通りインストール
こちらの記事によると、
CodeIgniterのヘルパー関数に擬似的なjson_encode()を作りましょう!
ってなってるんですが、恥ずかしながらCodeIgniterは名前は知ってたものの、使ったことがない!!
というわけで、お手軽実装のほうで。
まず、JSONエンコードするライブラリ「Jsphon」をこちらからダウンロードして、
解凍してできた
・Jsphon.php
・Jsphonディレクトリ
をsystem/application/libraries/に置きます。
次に、system/application/helpers/seezoo_helper.phpを開いて、一番下に
if ( ! function_exists('json_encode') ){
require_once(APPPATH . 'libraries/Jsphon.php');
function json_encode($data){
return Jsphon::encode($data);
}
}
を追記。
これで擬似的にjson_encode関数を作れます。
upgrade.phpというものもあります。
こっちを使えば、インクルードするだけで使えそうです。(マルチバイトはどうかな…。未確認)
次に、インストーラーのバージョンチェックをスキップします。
system/application/controllers/install.phpを開いて
$viewdata['php_version'] = version_compare(PHP_VERSION, '5.2.0', '>');
とされているところを
$viewdata['php_version'] = version_compare(PHP_VERSION, '5.1.0', '>');
に変更。
ここまでやったら、あとは、普通にインストーラーを走らせれば、
インストールできました。
今日はここまで!
これから使ってみながら、開発にも入り込んでいきます!
Comment feed