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; } }