紫影基地

 找回密码
 立即注册
查看: 216|回复: 0

[PHP开发] 织梦安装模板后出现 Fatal error: Call to undefined function make_hash()

[复制链接]
阅读字号:

2002

主题

2117

帖子

21万

积分

超级版主

Rank: 8Rank: 8

积分
210303
发表于 2024-4-1 15:37:19 | 显示全部楼层 |阅读模式


新版的织梦dedecms修改了 include 文件夹中的 common.func.php,增加了两个函数,而由于某些原因,例如:下载了某个以前的模板文件,如果此模板中提供了 common.func.php 文件,并且没有这两个函数的话,就会造成错误。

因为安装的模板会更新 common.func.php文件,导入缺号函数make_hash,所以出现这样的错误。

如果网站打开详细错误提示会显示 Fatal error: Call to undefined function make_hash() ,如果没开则一片空白,很恼火哦



解决的办法把一下内容追加到include文件夹下的common.func.php里即可

function make_hash()
{
    $rand = dede_random_bytes(16);
    $_SESSION['token'] = ($rand === FALSE)
        ? md5(uniqid(mt_rand(), TRUE))
        : bin2hex($rand);
    return $_SESSION['token'];
}
function dede_random_bytes($length)
{
    if (empty($length) OR ! ctype_digit((string) $length))
    {
        return FALSE;
    }
    if (function_exists('random_bytes'))
    {
        try
        {
            return random_bytes((int) $length);
        }
        catch (Exception $e)
        {
            return FALSE;
        }
    }
    if (defined('MCRYPT_DEV_URANDOM') && ($output = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM)) !== FALSE)
    {
        return $output;
    }
    if (is_readable('/dev/urandom') && ($fp = fopen('/dev/urandom', 'rb')) !== FALSE)
    {
        is_php('5.4') && stream_set_chunk_size($fp, $length);
        $output = fread($fp, $length);
        fclose($fp);
        if ($output !== FALSE)
        {
            return $output;
        }
    }

    if (function_exists('openssl_random_pseudo_bytes'))
    {
        return openssl_random_pseudo_bytes($length);
    }

    return FALSE;
}

————————————————
---------------------------------------

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫影基地

GMT+8, 2025-1-12 12:18 , Processed in 0.082301 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表