SOY CMSをXAMPPにインストール時のバージョンによる動作の違い

  • 投稿日:
  • by
  • カテゴリ:

以前から、利用するつもりでいたのですが、かれこれ数カ月(下手こいたら年単位かも・・・)経ちましたが、株式会社日本情報化農業研究所開発による国産CMSであるSOY CMSをようやくインストールしました。

インストールといっても、まだXAMPP環境でのインストールですが、そこで、XAMPPにSOY CMSのインストールにおけるメモと感想(?)です。利用はSOY CMSのSQLite版インストーラなしです。

感想ですが、XAMPPのバージョンは1.7がいいような気がします。というか、そのほうがスムーズにSOY CMSを利用できます。(現時点の話で、さらに個人的主観)

上記で、「XAMPPのバージョンは1.7がいい」と書きましたが、具体的に言うとPHPのバージョンです。

自分のひとつのPCには、XAMPPは1.7でPHPのバージョンは、5.2.8、一方、別のPCのXAMPPは1.7.2でPHPのバージョンは、5.3です。

PHP 5.3の場合

SOY CMSは、PHP5.2以上推奨なので、問題ないだろうと思ったのですが、ログインをすると下記図のような「Deprecated: Function ereg() is deprecated in C:\xampp\htdocs..\common\lib\soy2_build.php on line 5443」エラー表示になりました。

100113soy-1.jpg

原因は、PHP5.3で非推奨関数であるereg()を使用しているからです。

そこで、フォーラムに表記されているのですが、その表記通りにerror_reporting(0);をcommon/config/user.config.phpに追加したのですが、回避できませんでした。

(user.config.phpはuser.config.php.sampleとなっているので、リネームが必要)

そこで、エラーが出ているcommon/lib/soy2_build.phpの7242行あたり(秀丸エディタの場合)に下記のように変更することにより回避されました。

変更前

$old = error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);

変更後

$old = error_reporting(E_ERROR & ~E_NOTICE & ~E_PARSE);
100113soy2-1.jpg

エラーが出ていても、問題なく使えるのですが、なかなか環境に泣かされました。

PHP 5.2.8の場合

一方、XAMPP1.7がインストールされているPCでは、先ほども書きましたが、PHPは5.2.8です。

SOY CMSをXAMPPにインストールする場合、多くの人が【SOY CMS】 XAMPPにSOY CMSをインストールしてみたの記事を参考にしたと思います。

XAMPP1.7ではmod_rewriteは有効になっており、magic_quotes_gpcもoffになっているため、上記のエントリー通りでいくと、「SQLiteを使えるようにする」のみ設定するだけでよいのです。

/apache/bin/php.ini

;extension=php_pdo_sqlite.dll

上のコードの先頭の「;」をとって保存し、Apacheを再起動するだけで、スムーズにSOY CMSは動作します。

まとめ

動作すれば、どのXAMPP(PHP)のバージョンでも良いと思うのですが、初めての人は、PHP5.2.8(5.2.9でもいいと思います。)のほうがよいと思います。というのは、いきなりログイン後にエラー表示は確実に焦ります。

手間は同じですが、PHP5.3でsoy2_build.phpを一部変更するか、PHP5.2.8でphp.iniを一部変更するかどっちが楽かということですが、PHP5.2.8でのほうが楽なような気がします(あくまでも個人的な考えです。)。

結構、XAMPPでの動作ははまることが多いので、このエントリーが何か役に立てれば幸いです。(乱雑申し訳ありません。)

参考