- 追加された行はこの色です。
- 削除された行はこの色です。
[[S25R 拒絶ログソーティングスクリプト]]
#contents
*blackcube上でPukiWikiを表示すると真っ白画面になる [#h7483520]
piano2nd.smb.net上の本PukiWikiをwww.smb.netへそっくりコピーしてアクセスすると、真っ白画面となって、何も表示しない。
で、PukiWikiの index.php の
//define('TDIARY_THEME', 'digital_gadgets');
のコメントを外して、エラー表示させてみると、
> php ./index.php
PHP Fatal error: Cannot redeclare hex2bin() in /(some where)/pukiwiki/lib/func.php on line 317
となっている。
これは、http://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F349
に記載されている
•hex2bin()が組み込み関数になってlib/func.phpの実装とぶつかってました.
と言うことらしい。
因みに、piano2nd は、
piano2nd# php -v
PHP 5.3.14 with Suhosin-Patch (cli) (built: Jul 17 2012 11:19:37)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
一方の、Blackcubeは、
blackcube# php -v
PHP 5.4.5 (cli) (built: Jul 26 2012 17:50:33)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
という結果。
さて、解決策はというと、
http://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F349
に有るとおり、func.phpを以下のように書き換えることでhtmlファイルを出力するようになりました
// Decode page name
function decode($key)
{
if (function_exists('hex2bin')) {
return hex2bin($key);
} else {
return internal_hex2bin($key);
}
}
とした上で、つづいて喜寿されているbin2hex()の部分をファイル末尾に移動して以下の様に変更。
// hex2bin -- Converts the hex representation of data to binary
// (PHP 5.4.0)
// Inversion of bin2hex()
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;
}
}
&ref(func.php);
*piano2nd@php5.3.x へ変更後のfunc.phpを設置 [#z15ba083]
/usr/home/kuji/public_html/pukiwiki-1.4.7/lib/func.php
現時点で没問題の模様
これで、piano2nd のWikiをblackcubeへ単純コピーでバックアップできる。ヽ(^。^)丿
*Blackcubeの方から本コンテンツを毎時15分に差分ダウンロードするようにした [#mb19ab2a]
以上