Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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-您的系统没有安全的随机数生成器_Php - Fatal编程技术网

解除php-您的系统没有安全的随机数生成器

解除php-您的系统没有安全的随机数生成器,php,Php,我刚刚获取了defuse-crypto.phar文件并将其放入我的项目中 我曾经 增加 并试图使用它,但失败了 “您的系统没有安全的随机数生成器。” 我有点困惑,因为它说它只需要PHP5.4,但随机字节是PHP7+ 然后我注意到phar文件中的paragonie库。 我需要做些什么来激活它吗?因为我显然需要一个塑料填充 或者服务器上还有其他我需要的吗?不,您不需要做任何事情来“激活”polyfill-只要您使用解除命名空间中的任何内容,它就已经加载了。 执行此操作后,可以通过调用get\u in

我刚刚获取了defuse-crypto.phar文件并将其放入我的项目中 我曾经

增加

并试图使用它,但失败了

“您的系统没有安全的随机数生成器。”

我有点困惑,因为它说它只需要PHP5.4,但随机字节是PHP7+
然后我注意到phar文件中的paragonie库。 我需要做些什么来激活它吗?因为我显然需要一个塑料填充
或者服务器上还有其他我需要的吗?

不,您不需要做任何事情来“激活”polyfill-只要您
使用
解除
命名空间中的任何内容,它就已经加载了。
执行此操作后,可以通过调用
get\u included\u files()
来验证这一点:

<?php
require_once 'path/to/defuse-crypto.phar';
use Defuse\Crypto;
var_dump(\get_included_files());

不幸的是,您收到的错误消息的意思正是它所说的——您的系统上没有安全的PRNG(或者PHP无法访问它)


如果您运行的是Linux,请确保PHP可以访问
/dev/uradom

谢谢您的见解,将/dev/uradom添加到open\u basedir帮助!
use Defuse\Crypto\Key;
use Defuse\Crypto\Crypto;
<?php
require_once 'path/to/defuse-crypto.phar';
use Defuse\Crypto;
var_dump(\get_included_files());
phar://path/to/defuse-crypto.phar/vendor/paragonie/random_compat/lib/random.php