トップ/pukiwiki1.4/tips/pukiwiki_php5.5

pukiwiki1.4/tips/pukiwiki_php5.5 の変更点


#author("2025-04-20T16:12:06+09:00","default:nemusg.pad","nemusg.pad")
#author("2025-08-24T23:32:47+09:00;2025-04-20T16:12:06+09:00","default:nemusg.pad","nemusg.pad")
* PukiWikiをPHP5.5に対応させる [#k499f6ff]

PHP5.3に対応したばかりだが、セキュリティ的な問題もあるのでなるべく5.5に移行したほうがよさそう。&br;
''なお現状ではこれをするぐらいならPukiwikiを1.5以上にしたほうが良い。''

** 手順 [#acdc07de]

*** コンソールでlib/, plugin/, skin/にある修正箇所を置換する。 [#v3cc9f47]

 $ grep -lr --include="*.php" htmlspecialchars ./ |xargs sed -e "s/htmlspecialchars/htmlsc/g" -i

*** その後別途lib/func.phpを修正 [#ue77ee76]

htmlspecialcharsが含まれているので置換を先にやる

 +if (! function_exists('hex2bin')) {
 function hex2bin($hex_string)
 {
 	// preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
 	// (string)   : Always treat as string (not int etc). See BugTrack2/31
        return preg_match('/^[0-9a-f]+$/i', $hex_string) ?
                pack('H*', (string)$hex_string) : $hex_string;
  }
 +}

末尾に以下を追加

 +function htmlsc($string = '', $flags = ENT_COMPAT, $charset = CONTENT_CHARSET)
 +{
 +    return htmlspecialchars($string, $flags, $charset); // htmlsc()
 +}
 ?>

*** pcomment.inc.php , ls2.inc.php の修正 [#tc6431b7]

 , & $params);

となっている箇所を

 , $params);

に修正

** 参考 [#n736b5e5]

- [[PHP5.5でpukiwikiを使う:http://www.design.kyushu-u.ac.jp/~hito/index.php?PHP5.5%A4%C7pukiwiki%A4%F2%BB%C8%A4%A6]] サイトに繋がらないが、ドメインを見る限り大学のサーバーなので、そのうち復活するはず・・・
- [[PukiWiki をPHP5.4に対応させる:http://mymemo.weby117.com/develop/php/pukiwiki-modify.html]] ls2の修正が、pcommentにも有効でした。

#include(parts/feedback,notitle)