Categories: プログラミング

xampp1.8.1にNetCommons2.4.0.0インストールで躓く

この正月休みにxampp1.8.1にNetCommons2.4.0.0を入れてみる機会がありました。
その際、Strictのワーニングやらなんやかんやで動作しなかったので、改めて時間を取って検証してみました。

テスト環境
Windows7 64bit上で動作しているVMPlayerでubuntu12.04 デスクトップ(32bit版)
xampp linux 1.8.1
NetCommons 2.4.0.0
現時点で最新のxampp1.8.1にnetcommons2.4.0.0を入れるとPHPからStrict Standards警告が出ます。

と言う訳で、この警告が何かを調べると「変数の受け渡し方法が変わった」ことによる警告だそうで、
暫定的ですが動作に問題が無ければ、警告が出ないようにして Rev.Upを待つことにします。
警告が出ないように変更するするためGoogle先生で調べると、
「php.ini にある error_reporting項でE_STRICT を削除しろ」と出ます。
今回のテスト環境ではxamppを使っているので /opt/lampp/etc/php.ini を編集しlamppを起動してみると・・・
変化なし・・・ あれだけの人が直ったとGoogle先生は答えているのに直りません・・・
lamppのphp.iniを手直ししても直らないということはNetCommons側に処理があるという訳で、grepしてみると

error_reportingでの検索結果はこんな感じでした。
フレームワーク内に判断以外で使用されているerror_reporting()がありますが、まさかフレームワーク内の処理
を変えなければいけないほど野暮じゃないと思われるので、index.phpのみE_STRICTを出ないように追加・・・

(/index.phpとhtdocs/index.phpの2か所)
ちなみに、lampp1.8.1のPHPバージョンは5.4.7です。
どのバージョンから変更が必要なのか分からないでの バージョン5.3.0 で手を加えず。
(機会があったら調べます)
暫定的ですがこれで警告は出なくなりインストール可能な状態になりました。

特段問題も発生せずインストールは完了したので、この方法でいいかと思います。

なにより不思議なのはNetCommons2.4.0.0がリリースされてしばらく経っているのに
公式サイトや付属ドキュメントで、PHPが吐く警告に関する対処方法が見つからなかったこと。
(私の探し方が悪いのかもしれませんが^^;;;;)
ネットを見てみると、上記のエラー(警告)で運転が停止しているサイトもちらほら・・・・
オープンソースとはいえ、エンジニア以外の人が運用するCMSなので、この辺のアナウンスは重要ではなかろうかと・・・・
何かの役に立つかもしれないので、今回インストールした手順をメモしておきます。

1) /optにlamppを入れる → ex) tar xvzf xampp-linux-1.8.1.tar.gz -C /opt
2) lamppの起動 → ex) /opt/lampp/lampp start
3) セキュリティ設定 → ex) /opt/lampp/lampp security
   設定後は各操作にパスワードが必要になる。
    xamppページには ユーザー名 lampp パスワード:設定したパスワード でログイン可能
    phpmyadminには ユーザー名:root パスワード:設定したパスワード でログイン可能
4) lampp起動の確認 → ブラウザからlocalhostで確認
5) phpmyadminでnetcommons用DBと接続ユーザを作成
  ex) DB名:ncdb 照合順序:utf8_general_ci ユーザ追加:ncdbusr
6) NetCommons2.4.0.0のインストール
   ダウンロードしたファイルを解凍 ex) tar xvzf NetCommons-2.4.0.0.tar.gz
   lamppのhtdocs下にコピー ex) cp -apr home /opt/lampp/htdocs
   サイト名変更 mv html site1
   パーミッション変更 ex) chmod -R 777 templletes_c
     /webapp/config/install.inc.php → 666
     /webapp/templates_c → 777
     /htdocs → 777
     /webapp/uploads → 777
7) NetCommonsのインストール画面からインストール
8) /webapp/config/install.inc.phpのパーミッションを444に変更

FTP等のソフトでhtdocs内にNetCommonsのファイルをアップした場合パーミッションの設定はしなくていいかもしれません。
まぁ、会員型サイトを作るには今の所WordpressよりNetCommonsの方が手軽かもしれませんね。
情報は少ないですが、もうちょっと研究してみます。 (*^_^*)
追加情報 v2013.01.17
私のテスト環境(xampp1.8.1/NetCommons2.4.0.0/ubuntu12.10=仮想環境)ではページ遷移が正常に動作してないような現象が出ました
今のところ確認されている現象
・パブリックに相当する画面関係のページ遷移及びページ設計は正常
・プライベートに相当する画面関係のページ遷移で、セッションは保持されているもののページ遷移が上手くいかない場合がある。
・ページ遷移がNGの場合ページのコードを生成していない。
・管理画面のバックアップ機能のフォームが表示されない
・ごにょごにょやっているとサイトのトップを見失い何も表示されなくなる
これは興味深いので、PHPの開発環境を整備してみますかな。
少し前にNetBeansで環境を整えてみたものの、Tomcatとの連携がうまくいかず保留中・・・・
NetBeansで満足に環境が整えられなかった私ですが、次回無謀にもEclipseに挑戦してみます(*^_^*)
これができればH8の開発環境もEclipseにしたいかな・・・・ Eclipseが扱えればAndroidとか・・・・ 夢は広がります^^;;;;
さらに追加 → ページが白くなるのはページ遷移が異常なのではなく単にページが生成されないのが原因のようです。
私の環境が悪いのか、それ以外の原因があるのか、これはサイト運用よりも面白い課題に突き当たってしまったようです。

kabekin

View Comments

  • よーわからんけどおもしろげーなことしよるじゃん^^
    うちもちーとはソフトやらんといけんのじゃがねぇ^^;
    いつも力業でハードねじ伏せよるから、イマイチ手が出ん・・・

    • 旧型PCも面白いけど、新しい技術も面白いよ~
      オープンソース系のOS~アプリで何ができるかを実験するのがマイブームになってきてます。
      今まで通信といえばGPIBやRS232による通信が多かったので、いよいよイーサネットに手を出してます。
      しかし、分からないことが多すぎ・・・・

    • おお!
      情報どうもです。早速修正しました。
      これからはNetCommonsの情報も増やしていきます^^

    • NetCommons CMSも一時期興味があって弄っていたのですが、情報の少なさから止めてしまいました^^;;;
      時期バージョンのフレームワークはCakePHPに変更されるようなので、少し楽しみではあります。
      上記記事のエラーは本当にPHP5.4の警告系の不具合かどうかは私にはわかりません。
      この実験から半年経っていますがNetCommons2.4の提供元からはPHP5.4系では動作しないとのアナウンスも無さそうです。
      とすると、5.4系でも動作するのかもしれません。
      私のところではLinuxでもWindowsでも同様のエラーが出たので5.4系のワーニングレベルの問題だと思っています。