* php-5.4.0で動作させる対応 [#d1d114a0] - ページ: [[BugTrack2]] - 投稿者: [[よっちい]] - 優先順位: 低 - 状態: 提案 - カテゴリー: その他 - 投稿日: 2011-11-20 (日) 17:31:58 - バージョン: ** メッセージ [#idc6f06c] - [[php-5.4.0RC1>http://www.php.net/archive/2011.php#id2011-11-11-1]]をちょっと試してるのですが,apacheが500とのたまう感じです.php-5.3.9RC1は問題なさそうなのですけれども.わたしの仕込みだけの問題であれば良いのですけれども. -- [[よっちい]] &new{2011-11-12 (土) 10:50:42}; -- 自分の場合は、extension_dirを設定し忘れたせいでextension=php_mbstring.dllのあたりで呼び出し失敗していたのか、PHP Warning: PHP Startup: in Unknown on line 0というスタートアップエラーがログに記録され、ブラウザにはHTTP 500エラーが表示されてました。今はphp-5.4.0RC1のphp-cgi.exeが動いてます(設定し忘れはもうないハズ) -- &new{2011-11-13 (日) 02:09:44}; -- うちはFreeBSD boxでextensionをモジュール化しているのはdbaだけです.問題があるとすればそのあたりだろうな,とは思ってますがapacheのアクセスログ,エラーログにもこれといった情報は出てきてないです.はっきりわかっていることは「5.3.9RC1と5.4.0RC1で挙動が違う」だけです.phpinfo()によるとmbstringは有効になってます. -- [[よっちい]] &new{2011-11-13 (日) 10:43:46}; -- hex2bin()が組み込み関数になってlib/func.phpの実装とぶつかってました. > php ./index.php PHP Fatal error: Cannot redeclare hex2bin() in /(some where)/pukiwiki/lib/func.php on line 317 とりあえず,func.phpを以下のように書き換えることでhtmlファイルを出力するようになりました.lib/auth.phpで直接hex2bin()をコールしていたので,ついでにこれらをdecode()をコールするようにも変えたほうが良いでしょう. // Decode page name function decode($key) { if (function_exists('hex2bin')) { return hex2bin($key); } else { return internal_hex2bin($key); } } // Inversion of bin2hex() function internal_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; } ただ,これでも日本語がちゃんと出てくれない(出るところと出ないところがあり,規則性が見いだせてない)ので,もうちょっと追ってみます. -- [[よっちい]] &new{2011-11-19 (土) 21:17:34}; -- http://blog.tokumaru.org/2011/11/php54htmlspecialchars.htmlに答えが書いてありました.htmlspecialchars()の非互換によるもので,確認のために同ペイジに書いてあるphpにパッチをあてる方法で正しく(!?)表示されるようになりました.パッチを当てるのはちょっと乱暴なので,同ペイジで提案されている「まとめてhtmlspecialchars関数を修正する方法」を採用するのがよろしかろうと思います.ただし,ページ内にあるアンカーをたどろうとすると,またapacheが500とのたまいます.これまたペイジの名称によってたどれるものと,そうでないものがあります.以下はたどれない例です. http://192.168.0.4/(some where)/pukiwiki/pukiwiki.php?%A5%E9%A5%F3%A5%AD%A5%F3%A5%B0 ちょっと困りました. -- [[よっちい]] &new{2011-11-19 (土) 23:54:16}; -------- #comment