XOOPSのxrea増強メンテナンスによる不具合

2012年4月15日のxrea増強メンテナンス(php4→php5.2)により、2005年に設置したxoops(2.0.13a)に不具合が発生。

  1. “NEWS2″モジュール(“NEWS”を2個設置するためのモジュール)管理画面の不具合
  2. “junkweather”モジュールが文字化け

“NEWS2モジュール不具合”

“NEWS”モジュールの方は全く問題ないのに、何故か”NEWS2″モジュールの方は記事が表示されるが承認/編集/投稿できない。

投稿した最後の記事の更新日を見てみると2012.4.11になっている。
xreaの増強メンテが4/15なので、php4→php5が原因だと推測。
いろいろググッてみたところ、以下の記事を発見
→ http://www.wingnotes.net/linux_server/xoops_cube_php5.html

PHP5以降では「register_long_arrays」がONになっていないとダメなようです。
xreaのphpinfo()で設定内容をチェックしてみると、”OFF”になっていました。

早速、htaccessに
「php_flag register_long_arrays ON」

の一行を足してみたところ、見事に”NEWS2″の不具合が解消されました!!

 

あと、PHP5のをPHP4として動作させる互換モードもあるようですが、register_long_arraysで直ったので試していません。

【PHP5のPHP4互換モード】
zend.ze1_compatibility_mode On

 

“junkweather”モジュールが文字化け

こちらの方の不具合は、文字化け。
何故か出力内容がUTF8になっている・・・・weather.goo.ne.jpからのデータはEUCなのに・・・

phpのことはよく分からないが、junkweatherが勝手に”UTF”に変換している模様・・・

文字変換を行っているモジュールのファイルを1つ1つチェックして、下記ファイルが怪しいと断定。
「/modules/jweather/blocks/junkweather_blocks.php」

この中のコードを
「mb_convert_encoding($item[0][‘????’], “EUC-JP”, “auto”);」
に修正

これで合っているのか分かりませんが、とりあえず文字化けは直っているので結果オーライということで・・・

Translate »