EUC+PHP4で動いているd3diaryをUTF+PHP5のサーバに移転する際の不具合

投稿ツリー


このトピックの投稿一覧へ

souka431

質問 EUC+PHP4で動いているd3diaryをUTF+PHP5のサーバに移転する際の不具合

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 | 投稿日時 2012/9/9 23:38
souka431  新米   投稿数: 8

素晴らしいモジュールをありがとうございます。
現在、サイトの引越しというか、UTF化およびPHP4から5への移行を進めています。minidiaryを使わせていただいていましたので、d3diaryはまさに福音でした。本当にありがとうございます。全くの無知ですが、積年の課題として、ここ2年くらい検索し続け、断片的な文章を読み続けて、やっと何とか取り掛かろうというところです。

その際、d3diaryの移転にあたってつまずいており、いろいろ素人なりに工夫してみたのですが、どうしてもうまくいきませんので、何かヒントをいただけれればと思い、投稿させてもらいました。具体的にはEUC+PHP4で動いているd3diaryを、UTF+PHP5のサーバに移転するにはどうしたらよいかということです。

余談ですが、XoopsのUTF化については、素人でもわかるような文章がほぼ皆無だったり、ほとんど参考にならないものが多く、具体的にどうすればよいのかが、いくら検索しても未だにわかりません。PHPやデータベースについて一から勉強した人でないと使えないソフトなんて!と、正直精神的に追い詰められた気持ちです。7年にわたって蓄積してきたものを捨てたくない一心だけでXoopsにしがみついていますが、こういう普通のユーザーには手の届かないレベルのマニュアルについては、公式サイトなどでフォローしてくれないかなあと思う今日このごろです。

私が移転にあたり、自分なりに検索してやったことは、
1.まず旧サーバ(さくら・PHP4)にd3diary0.18をインストールし、minidiaryのデータをインポート(成功)
2.実験環境の新サーバ(さくら・PHP5)にも、VerをそろえるためにSQLを書き直して無理に0.18を新規インストール(成功?)
3.旧サーバのデータベースにPHPMyadminでアクセスしてデータをエクスポート
4.EUCからUTFにコード変換し、PHP5用に直して新サーバにインポート
という流れでした。

まず最初の不具合は、d3diary_photoのテーブルがインポートできなかったこと。

MySQLのメッセージ: ドキュメント 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL,

 PRIMARY KEY  (`bid`,`pid`)

) ENGINE=MyISAM' at line 6

xoops側の表示をみますと、「全30件のうち1 - 10件目を表示しています」などと表示されますが、実際には何も表示されておらず、記事を閲覧することができません。カテゴリーやカレンダーなどにも記事があることを示す表示がありましたが、クリックしても記事を閲覧することはできません。ただしデータベースのテーブルには記事はちゃんと存在しているようでした。
その時のPHPデバグですが、
Notice [PHP]: Undefined index: mailpost in file /home/×××/xoops_trust_path/modules/d3diary/class/diaryconfig.class.php line 44(同じく45~48も)
Notice [PHP]: Undefined index: subcat in file /home/×××/xoops_trust_path/modules/d3diary/class/func.class.php line 285
というものでした。

やはり0.18ではダメかと思い、今度は新サーバのほうに0.24をインストールして同じことをしてみましたが、症状は改善されず、移転することができません。ただし、d3diary_photoのテーブルはインポートできたようです。

それと不思議なことですが、旧サーバの管理画面ではd3diary(移転後もURLをそろえるためにディレクトリ名はminidiary)のバージョンが0.05と表示されています。別ディレクトリ名でインストールしても変わりません。なのに新サーバに同じものをインストールすると、ちゃんと0.18と正しく表示されます。そして新旧のサーバで同じものをインストールしたはずなのに、管理画面の一般設定で違うものが出ます。具体的には旧サーバでの一般設定のメニューには、「更新Pinの送信」設定が出てきません。

以上、何が何やら、いったいどうすればいいのやら、専門の勉強をされた方ならわかるのでしょうが、私ごときでは狐につままれたような気持ちです。どういう方向で何を調べればいいのかすらわかりません。
藁にもすがる気持ちといったら失礼ですが、どうかヒントだけでもいただけませんでしょうか。

新サーバ            旧サーバ
MySQL 5.5           MySQL 4.0
PHP 5.2.17 (CGI版)       PHP 4.4.9 (CGI版)
Apache 2.2.22         Apache 2.2.22
XCL 2.2.1 Beta1        XCL 2.1.7

投票数:1 平均点:10.00
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ