func.php:PHP8.1で非推奨になったmhashが使われている†
- ページ: BugTrack
- 投稿者: ぬぺぺ
- 優先順位: 低
- 状態: 却下
- カテゴリー: 本体バグ
- 投稿日: 2022-12-24 (土) 10:11:04
- バージョン: 1.5.4
メッセージ†
VSCodeで取消線表示になってたので報告です。
func.php の最下部
// sha1 -- Compute SHA-1 hash
// (PHP 4 >= 4.3.0, PHP5)
if (! function_exists('sha1')) {
if (extension_loaded('mhash')) {
function sha1($str)
{
return bin2hex(mhash(MHASH_SHA1, $str));
}
}
}
でmhashが使われています。
PHP8.1でdeprecatedになったそうなので、次のアップデート辺りで修正していただけたら嬉しいです。
修正案(アバウト)
return bin2hex(mhash(MHASH_SHA1, $str));
↓
return hash('sha1', $str);
- 修正案は適当です。compat関数なのでもっといろいろ処理が必要かと思われます -- ぬぺぺ
- これ if (! function_exists('sha1')) { ... } の中は PHP4.3 より前の環境用の処理でPHP8では実行されないのでこのままにします。そんな環境でさらにmhashが有効な環境がどれほどあるか、といったら無いのですがPukiWiki全体的にそういう感じなので... -- umorigu
- うわっ本当ですね。(PHP 4 >= 4.3.0, PHP5) の意味を逆に捉えてました…。もうちょっとコンパチ関数が何のためにあるのか考えるべきでした。うっかりしてました…失礼しました。ご対応ありがとうございました! -- ぬぺぺ
- どう考えても触る必要なかったやつだったので却下にしておきました。 -- ぬぺぺ