hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

TOP » UsersWiki » nao-pon » blog » 2013-09-09

RSS of nao-pon/blog
2013 9月 9 (月)
 

XOOPS モジュールの PHP 5.4 と MySQLi 対応の進捗状況 anchor.png

私が開発に関わっているモジュールの PHP 5.4 と MySQLi 対応の進捗状況のまとめページ

PHP 5.4 対応 (UTF-8 環境下では問題になることは少ないです)

PHP 5.4 から htmlspecialchars() 関数の第三引数(文字エンコーディング)のデフォルト値が ISO-8869-1 から UTF-8 に変更になったとともに、文字エンコーディングとして不正なバイト列がある場合は空文字を返すようになりました。

UTF-8 環境下では問題になるケースは少ないですが、それ以外(EUC-JPなど)の環境下では、コンテンツが部分的に表示されなくなるなどの深刻な問題が生じます。

その対策として、第三引数を明示的に指定する必要があります。

MySQLi 対応(対応してなくても当面は問題ありません)

PHP 5.5 から XOOPS で使用されている mysql 系の関数は、非奨励関数となります。コア側の対応としては、新たに mysqli を利用したデータベースクラスを用意し、mainfile.php の define('XOOPS_DB_TYPE', 'mysql'); を define('XOOPS_DB_TYPE', 'mysqli'); と書き換えることで移行可能です。

モジュール側の対応は、"mysqi_" で grep を掛けて、見つかったら、XoopsDatabase の対応するメソッドへ変更、メソッドがなければ、$conn を見て場合分けをして処理をします。

場合分けは、例えば次のような感じです。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    static $link = null;
    if (is_null($link)) {
      $db = XoopsDatabaseFactory::getDatabaseConnection();
      $link = (is_object($db->conn) && get_class($db->conn) === 'mysqli')? $db->conn : false;
    }
    if ($link) {
      return mysqli_set_charset($link, $charset);
    } else {
      return mysql_set_charset($charset);
    }
Page Top

対策済み進捗状況表 anchor.png

モジュール名PHP5.4MySQLi
当該コミット*1
xoopscube リポジトリ
altsys
protector
xupdate
XoopsX リポジトリ
bulletin
cubeUtils
d3downloads
d3forum
d3pipes
gnavi
mailform
multiMenu
myalbum
myfriend
none
openid
piCal
pico
search
xpress
xsns
xwords
nao-pon リポジトリ
ckeditor4
hypconf(HypCommon)
tagmemo
xelfinder
xpwiki
Happy Linux リポジトリ
happy_linux
liaise
rssc
rssc_headline
smartsection
smartobject
timeline
weblinks
webmap3
webphoto
whatsnew*2


*1 リンクのない ◯ は対応済みで修正の必要はないことを意味しています。
*2 pukiwiki プラグインは動かない(そもそも PukiWikiMod が動かない)

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 511, today: 2, yesterday: 0
初版日時: 2013-09-09 (月) 18:15:31
最終更新: 2014-02-12 (水) 22:31:55 (JST) (3687d) by nao-pon
このページのTopへ
メインメニュー
ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録
最近の更新
オンライン状況
249 人のユーザが現在オンラインです。 (9 人のユーザが UsersWiki を参照しています。)

登録ユーザ: 0
ゲスト: 249

もっと...
サイト情報