由于某种原因,我从PHP 5.2.8
降级为PHP 5.4.2
,我启用了mcrypt
扩展程序,但是当我运行函数mcrypt_create_iv ($size, MCRYPT_DEV_RANDOM)
时,它无法正常执行,我收到以下警告
Warning: mcrypt_create_iv() [function.mcrypt-create-iv]:Cannot open source device
请问如何解决此问题?谢谢你的任何建议。
答案 0 :(得分:3)
出现此问题是因为MCRYPT_DEV_URANDOM
仅在Windows上受PHP version 5.3.0
支持,这就是为什么它在降级之前一直运行良好。
我改为使用以前版本的MCRYPT_RAND
,问题解决了。
答案 1 :(得分:1)
找到文件includes / CryptRandom.php。找到以下行 (可能在第285行附近):$ iv = mcrypt_create_iv($ rem, MCRYPT_DEV_URANDOM);将其更改为:$ iv = mcrypt_create_iv($ rem, MCRYPT_RAND);
答案 2 :(得分:0)
检查设备文件(如果是Linux):
/dev/random