我找到了一个脚本,它将随机生成 X 数量的数字/字母。它在我的本地主机上运行良好,但是当我将脚本上传到我的 VPS 时它不起作用。
我收到以下错误:
Fatal error: Call to undefined function openssl_random_pseudo_bytes()
那将是这部分代码:
function crypto_rand_secure($min, $max) {
$range = $max - $min;
if ($range < 0) return $min; // not so random...
$log = log($range, 2);
$bytes = (int) ($log / 8) + 1; // length in bytes
$bits = (int) $log + 1; // length in bits
$filter = (int) (1 << $bits) - 1; // set all lower bits to 1
do {
$rnd = hexdec(bin2hex(openssl_random_pseudo_bytes($bytes)));
$rnd = $rnd & $filter; // discard irrelevant bits
} while ($rnd >= $range);
return $min + $rnd;
}
我在 stacksoverflow 上找到了同样问题的帖子。但是,它需要安装一个模块。我不知道该怎么做,但我在 VPS 的 WHM 上找到了这个。
Home »软件 »模块安装程序
当我选择 Perl Module 并搜索openssl时,我得到了很多结果。我已经安装了其中一个,并且我默认安装了一个。
这里是安装的 openssl 模块:
地穴::OpenSSL::RSA
地穴::OpenSSL::随机
仍然......我在我的网站上遇到同样的错误。有什么解决办法吗?提前致谢。