RECENT POSTS

TWITTER UPDATES

Xoopsの移行

Posted by Kazu On 10月 - 22 - 2006 2 COMMENTS

Xoopsで作ったサイトを2つほど運営(つっても半分閉鎖状態ですが)しているのですが、結局今回のサーバ移行で一番手間取ったのはこのの移行かなぁ。


まず、自体ここ半年以上触ってなかったので、「何だっけ?」というところから始まり、phpMyAdminでエクスポートして新サーバでインポートするものの、まず画面真っ白、そしてそれを解決しても文字化けやらで全然ダメ。


そもそも、はPHP5に正式に対応してない(昨年対応していなかったのは知っていたが、まさかいまだに対応していないとは思わなんだよ)し、MySQLもちゃんと動くバージョンは一体どれ?という状態。


新サーバではPHPは5.1.4、MySQLは5.0.22

なのではっきり言って絶望的?


旧サーバはEUCで、新サーバの文字コードはUTF-8にしてるのもいろいろややこしい原因だが、今回はどうしてもUTF-8にしたかったので無理がありながらもいろいろ強行突破中。。


もうで作ったサイトは見捨てようかとも思ったが、なんとか動くところまで持っていけた。


まず、をPHP5で動かすには:

php.iniのregister_long_arraysをonにする


次に文字化けに関しては:

MySQLのクライアント文字セットを明示的にMySQLサーバに通知する必要があります。現時点(2006/10)のではこの機能がサポートされておらずのソースコードを変更する必要があります。


DocumentRoot//class/database/mysqldatabase.php

のfunction connectのところに若干追記します。


function connect($selectdb = true)

{

if (XOOPS_DB_PCONNECT == 1) {

$this->conn = @mysql_pconnect(XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS);

} else {

$this->conn = @mysql_connect(XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS);

}



if (!$this->conn) {

$this->logger->addQuery(”, $this->error(), $this->errno());

return false;

}



if($selectdb != false){

if (!mysql_select_db(XOOPS_DB_NAME)) {

$this->logger->addQuery(”, $this->error(), $this->errno());

return false;

}

}

// MySql>=4.1 //////////////////////////////////////////////////////////////

mysql_query(“SET NAMES ujis”, $this->conn);

////////////////////////////////////////////////////////////////////////////

return true;

}


追記するのは、上記の最後の部分(以下参照)


// MySql>=4.1 //////////////////////////////////////////////////////////////

mysql_query(“SET NAMES ujis”, $this->conn);

////////////////////////////////////////////////////////////////////////////


今まで新旧両方のサーバを並行稼動させてましたが、これでようやく旧サーバは役目終了、ということになるかな。


こちらもご一緒にどうぞ!

2 Responses

  1. たねちゃん より:

    聞いていいのかなぁ?


    そのXOOPSで作ってあるサイトって何のサイトなの?(笑)

  2. Kazu より:

    いや、たいしたサイトではなく、単に仲間内のゴルフのサイトなんです。

    MySQLでスコア管理、グラフ表示までさせるところまで持って行った

    がもう1年以上誰にも使われていない( ̄Д ̄;;

    一応、過去の遺産といえど、スコア管理用に作ったPHPのソースが

    他に使いまわし利くかもしれないのと、突然皆がまた復活を望む

    場合に備えてなんとか移行したんだけど、多分意味なし(笑)

Leave a Reply

Kazuizm は WP Super Cache でキャッシングされているおかげで Digg に耐えられます