
PHPのバージョンを5.4にアップしたところ、Pukiwikiが突然500エラーを返すようになった。
PHP5.4ではhex2bin()が関数が組込みになりpukiwikiの関数と衝突している。
そちらの書き換えをします。
lib/func.phpの311行目あたりを書き換えます。
// Inversion of bin2hex()
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;
}
↓↓
// 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;
}
}