Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:调用未定义的函数openssl\u random\u pseudo\u bytes()_Php_Openssl_Vps - Fatal编程技术网

Php 致命错误:调用未定义的函数openssl\u random\u pseudo\u bytes()

Php 致命错误:调用未定义的函数openssl\u random\u pseudo\u bytes(),php,openssl,vps,Php,Openssl,Vps,我发现了一个脚本,它将随机生成X数量的数字/字母。 它在我的本地主机上运行良好,但是当我将脚本上载到VPS时,它不起作用 我发现以下错误: Fatal error: Call to undefined function openssl_random_pseudo_bytes() 这就是代码的这一部分: function crypto_rand_secure($min, $max) { $range = $max - $min; if ($range <

我发现了一个脚本,它将随机生成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;
}
函数加密和安全($min,$max){
$range=$max-$min;
如果($range<0)返回$min;//不太随机。。。
$log=log($range,2);
$bytes=(int)($log/8)+1;//字节长度
$bits=(int)$log+1;//以位为单位的长度
$filter=(int)(1=$range);
返回$min+$rnd;
}
我在stacksoverflow上发现了一篇同样的帖子。但是,它需要安装一个模块。我不知道如何做到这一点,但我在VPS的WHM上发现了这一点

主页»软件»模块安装程序

当我选择Perl模块并搜索openssl时,我得到了很多结果。 我已经安装了其中一个,默认情况下我已经安装了一个

这里安装了openssl模块:

Crypt::OpenSSL::RSA

Crypt::OpenSSL::Random

还是。。。我在我的网站上得到了同样的错误。
有解决办法吗?提前感谢。

您还需要使用中所述的
--使用openssl
编译php。

您还需要使用中所述的
--使用openssl
编译php。

您找到的openssl Perl模块是一个麻烦事。它们对PHP没有任何影响。(PHP和Perl是两种完全独立的编程语言。)


您需要安装的是openssl PHP模块。我不记得cPanel是否有重建PHP的选项,但如果我是对的,并且它有,那么您需要经历这个过程并在那里启用OpenSSL。

您找到的OpenSSL Perl模块是一个模糊的问题。它们对PHP没有任何影响。(PHP和Perl是两种完全独立的编程语言。)


您需要安装的是openssl PHP模块。我不记得cPanel是否有重建PHP的选项,但如果我是对的,并且它有,那么您需要经历这个过程并在那里启用OpenSSL。

我自己也有同样的问题。我通过编辑我的php.ini文件修改
解决了这个问题;extension=php\u openssl.dll
extension=php\u openssl.dll


(对于我的安装,我的php.ini文件位于我的
p:\Program Files\EasyPHP-12.1\conf_Files\
目录中。)

我自己也有同样的问题。我通过编辑我的php.ini文件修改
解决了这个问题;extension=php\u openssl.dll
extension=php\u openssl.dll

(对于我的安装,我的php.ini文件位于我的
p:\Program Files\EasyPHP-12.1\conf\u Files\
目录中。)