php5.4でpukiwikiのインストール

投稿者:

すでにpukiwikiがインストールされているサーバにwordpressをインストールした。
で、ついでにphpのバージョンアップも行った。今インストールされてるphpは5.4です。
正確には↓です。
php-5.4.15-1.el5.remi

ところがpukiwikiが表示されなくなった。
画面が真っ白になりました。

Apacheのログを見るとステータスコード500を返してます。
おそらくphpのバージョンアップが原因でしょう。
で、ググったところいろいろとヒットしました。

まず、pukiwikiをデバッグモードにします。
index.phpの9~10行目を変更します。
★変更前
error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
//error_reporting(E_ALL); // Debug purpose

★変更後
//error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
error_reporting(E_ALL); // Debug purpose

再度、pukiwikiにアクセスします。
Apacheのログにエラーログが挙がりました。
[Mon May xx xx:xx:xx 2013] [error] [client xxx.xxx.xxx.xxx] PHP Fatal error: Cannot redeclare hex2bin() in /var/www/html/pukiwiki/lib/func.php on line 317

で、これを検索すると以下のページが見つかりました。
BugTrack2/349
実際にやることは、func.phpの以下の箇所に2行追記します。

// 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;
}
}   ←追記します。

これで無事にpukiwikiが表示されるようになりました。
メデタシメデタシ。
注)必要に応じてデバッグモードを解除します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.