スタッフブログ

  • 最新配信
  • RSS

データベースへの持続的接続を有効にしている場合の不具合

 : XOOPS » TIPS小ネタ 2010/7/2 17:09

Blogger's Avatar

蒸し暑い季節で薄着になったものの、冷房の効いた場所では寒さに耐えれず結局長袖を着ているgusagiです
今回は、当社が運営しているうさぎにもできるXOOPS Cube入門♪のフォーラムに書かれていたXOOPS Cube Legacy2.1(XCL2.1)の不具合について書きたいと思います。

元の投稿はこちらで、インストール時に「データベースへ持続的接続」を「はい」としてインストールしていた場合、XCL2.1のバージョンが2.1.7か2.1.8(ホダ塾ディストリビューションなら1.0.4)だとデータベースの接続に失敗します。
原因はXCL2.1本体のバグで、バージョン2.1.7で取り込まれた修正内容に問題があり、持続的接続が有効な場合にエラーとなるようです。

個人的には、今回の不具合修正などを行ったバージョン2.1.9がリリースされるのではないかと思いますが、取り急ぎとしては次のふたつの対応方法があります。

データベースへの持続的接続をやめる


何らかの理由で持続的接続をせざるを得ない方を除いては、こちらの方法をおすすめします。
作業としては、mainfile.phpに
define('XOOPS_DB_PCONNECT', 1);
という行がありますので、10に変更するだけです。

プログラムを修正する


何らかの理由で持続的接続にせざるを得ない場合は、プログラムを自分で修正するしかありません
html/class/database/mysqldatabase.php の84行目
$this->conn = @mysql_pconnect(XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS, false, MYSQL_CLIENT_FOUND_ROWS);
$this->conn = @mysql_pconnect(XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS, MYSQL_CLIENT_FOUND_ROWS);
に修正します。

XCL本体が修正されるまでの暫定的な対応になると思いますが、参考になれば何よりです

トラックバック

スタッフブログ最新
カテゴリ一覧

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.