« 恐怖の胃カメラ | Kazuの挑戦日記TOP | Firefox2.0を入れてみた »

Xoopsの移行

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

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

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

新サーバではPHPは5.1.4、MySQLは5.0.22
なのではっきり言って絶望的?

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

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

まず、XoopsをPHP5で動かすには:
php.iniのregister_long_arraysをonにする

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

DocumentRoot/xoops/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);
////////////////////////////////////////////////////////////////////////////

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

コピペ用リンク

このエントリーのトラックバックURL:


このエントリーへのリンクURLを含むHTML:

同じカテゴリの記事

トラックバック

コメント (2)

たねちゃん's website

聞いていいのかなぁ?

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


Kazu's website

いや、たいしたサイトではなく、単に仲間内のゴルフのサイトなんです。
MySQLでスコア管理、グラフ表示までさせるところまで持って行った
がもう1年以上誰にも使われていない( ̄Д ̄;;
一応、過去の遺産といえど、スコア管理用に作ったPHPのソースが
他に使いまわし利くかもしれないのと、突然皆がまた復活を望む
場合に備えてなんとか移行したんだけど、多分意味なし(笑)


コメントを投稿

Insert Emoddy tag

RSS

Add to goo
Add to google

はてなRSS
feedpath
Subscribe in Bloglines
Subscribe with livedoor Reader




Tag cloud

お勧め!

Powered by
Movable Type 4.25