スポンサードリンク
Categories: ネット

XOOPSのモジュールをMySQL 5.5系にインストールする方法

ドメインキング から、XOOPS Cube Legacy で作成していたサイトを さくらのVPS に移したのだが、モジュールインストール時に以下のようなエラーが出てインストールできなくなってしまった。

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 ‘TYPE=MyISAM’ at line XXX

どうやらMySQL 5.5系では ‘TYPE=MyISAM’ 指定が無効になっており、’ENGINE=MyISAM’ とSQL文を書いてやらないとダメな模様。このサーバーではremiレポジトリからPHP 5.3系・MySQL 5.5系がインストールされているため、既にインストールされていたモジュールは問題なかったものの、モジュールの新規インストールで問題が出たようだ。

その後、いくつかのモジュールのSQLを確認したが、確認した限りのモジュール全てで ‘TYPE=MyISAM’ が使われていたため、全部置換するのも面倒だなーと思っていたら、XOOPS Cubeの公式フォーラムに投稿されていた以下のハックで解決。

MySQL 5.5.4 でトラブル
http://xoopscube.jp/forum/6771

 

class/database/sqlutility.php

function splitMySqlFile(&$ret, $sql)
{

直下に、以下の行を挿入。

$sql = str_replace( 'TYPE=MyISAM', 'ENGINE=MyISAM', $sql );

これでモジュールのインストールができるようになった。

スポンサードリンク
GUILZ.ORG

Share
Published by
GUILZ.ORG
スポンサードリンク