我出于某种原因降级为PHP 5.2.8
from ,我启用了扩展,但是当我运行该功能时,它无法正确执行,并且我收到以下警告PHP 5.4.2
mcrypt
mcrypt_create_iv ($size, MCRYPT_DEV_RANDOM)
Warning: mcrypt_create_iv() [function.mcrypt-create-iv]:Cannot open source device
请问我该如何解决这个问题?感谢您的任何建议。
出现此问题是因为MCRYPT_DEV_URANDOM
仅从 Windows 开始支持PHP version 5.3.0
,这就是它在降级之前运行良好的原因。
我改成MCRYPT_RAND
在以前的版本上工作的那个,问题就解决了。
找到文件包含/CryptRandom.php。找到以下行(可能在第 285 行附近): $iv = mcrypt_create_iv( $rem, MCRYPT_DEV_URANDOM ); 将其更改为: $iv = mcrypt_create_iv( $rem, MCRYPT_RAND );
检查设备文件(如果是 Linux):
/dev/random