soyogiと申します。
現在、hetemlというレンタルサーバ上にてホダ塾を使用して複数サイトを運営しているのですが、hetemlのPHPバージョンが(PHP4 or PHP5.2 → PHP5.3 or PHP5.4)上がるとのアナウンスがあり、ホダ塾からXoopsXへ移行するテストを行っています。
以前、別記事にてお世話になりました、marine様のサイトで同様の作業内容があり参考にさせて頂いております。
http://xoops123.com/modules/xpwiki/index.php/XOOPSでWebサイトを作ろう/ホダ塾をXOOPS X にアップグレードしよう!
試しに2サイトのアップグレード作業を行いましたが、1サイトはうまくあがったのですが、もう1サイトはログイン後に管理者画面に入ろうとすると真っ白画面になってしまいます。
phpMyAdminにてデバッグモードをonにして確認したのですが、以下のエラーが出ていました。
Handler does not exist
Module: xupdate
Name: ModuleStoreThis page cannot be displayed due to an internal error.
検索してもこの情報がhitせず、試行錯誤しています。
ディレクトリ構成は下記のようになっております。(テストを行っているのは※のついた所です)
/
├web
│├サイトA
│├サイトA'(※)
│└サイトB
│└サイトB'(※)
├xoops_trust_path
└xoops_x_trust_path(※)
現行サイトが稼働しているので、サイトA'とサイトB'としてまるごとコピー。
DBは新規作成し、サイトAで使用しているものをphpMyAdminにてエクスポートし、サイトA'へインポート。
xoops_trust_pathはxoops_x_trust_pathとしてコピーし、サイトA'、サイトB'からはそちらを見るようにmainfaile.phpを設定。
サイトA'(アップグレード成功)
サイトB'(アップグレードはしているようだが管理者画面が表示されない)
XOOPS Cube Legacy 2.1.5 → XOOPS Cube Legacy 2.2.3 Beta 1
もし何か分かる方がいらっしゃればアドバイスお願い出来ますでしょうか。
ご助言、よろしくお願い致します。
コメント(7)

soyogi さん、こんにちは。
エラー内容は、
引用:Handler does not exist
Module: xupdate
Name: ModuleStore
ということだと思うのですが、X-update が何か問題があるようですね。
同じ XOOPS_TRUST_PATH を共有している方は問題がないということなので、ちょっと不思議ですね。
念のため [html側]/modules/xupdate を上書きアップロードしてみてください。
ただ、XCL ってこんな感じにエラーを吐いたかな?何かカスタマイズされていますか?
nao-ponさん
アドバイスありがとうございます。
引用:念のため [html側]/modules/xupdate を上書きアップロードしてみてください。
こちら、「X-update version 0.67」をダウンロードしてhtml側のmodulesに上書きアップロードしてみましたが状況は変わりませんでした。
引用:ただ、XCL ってこんな感じにエラーを吐いたかな?何かカスタマイズされていますか?
特にこれといってカスタマイズ的な事はしておりません。
関係あるか分かりませんが、
管理者画面のALTSYS⇒テンプレート管理
pico
d3blog
d3pipes
d3downloads
d3forum
flatdata
これらに関しては、テンプレートのカスタマイズは行っています。
テストでサイトA'、サイトB'以外も試してみたのですが、このサイトだけこのような状況でして、中々解決の糸口が見つかりません。。。
他サイトは、ログアウト時に500Errorが出たりというのはありましたが、PHP5.3を指定する事で直りましたが、このサイトだけは違う所でひっかかっている感じです。
ひょっとして、サイトB' の XOOPS_TRUST_PATH の設定が xoops_trust_path のままということはないでしょうか、念のため再度 mainfile.php を確認してみてください。
あと、APC, eAccelerator などの PHP アクセレーターが有効だと、ファイルのタイムスタンプが降るままだとキャッシュが更新されないことがあります。その場合は編集した php ファイルのタイムスタンプを確実に更新するなどして、キャッシュの更新を行ってみてください。
soyogiです。
引用:ひょっとして、サイトB' の XOOPS_TRUST_PATH の設定が xoops_trust_path のままということはないでしょうか、念のため再度 mainfile.php を確認してみてください。
サイトB'のmainfile.phpを確認致しましたが、上述の「xoops_x_trust_path」を指定している状態です。
まだ、サイト○'(B'以外でアップデート成功しているサイト)の管理画面にてモジュールのアップデートを一切行っていないのですが、関係ありそうでしょうか?
モジュールのアップデートを行ったら、何か状況変わらないかなと思ったのですが。。。
nao-ponさん
soyogiです。
モジュール構成と html/preload の違いを比べて、ひとつひとつ検証していくとよいかも。
ひとまずmodules配下の差異を検証し、サイトB'だけに存在するものをピックアップしました。
・mcllibs
・qscart
上記2モジュールがサイトB'のみに存在していたのですが、現在は使用していないモジュールとの確認がとれたので、念の為アップデート対応前状態に戻してから作業をしてみました。
上記モジュールを削除し、同じくpreloadに入っていた下記を削除しトライしてみたところ、管理者画面にログインする事に成功しました。
・LangSelect.class.php(mcllibsのphpを呼んでいる)
サイトBを構築した担当者に聞いた所、以前使おうとして入れた「Analyzer for XC」というのを使う際に「mcllibs」が必要だったとの事でした。
もう少し稼働確認をとってみますが、一先ず管理者画面に入れるようになりましたので、ご報告致します。
nao-ponさんには、modulesの比較に気付かせて頂き感謝しております。
ありがとうございました。
We confirmed the mainfile.php of site B ', but it is in the state that specifies the "xoops_x_trust_path" described above.
Still, site ○ I do not have to go all the updates of the module at the management screen of '(B' update successful site outside), but I would likely relationship?
Once you have made the module updates, How can I thought the kana does not change anything situation. . .
__________________
Johni Imtiaz..!!