我的网络主机上的Mcrypt库出现错误。我正在使用Laravel 4框架(目前处于测试阶段)。它给了以下错误:PHP 5.3.18 Mcrypt错误:无法打开源设备
ErrorException: Warning: mcrypt_create_iv() [function.mcrypt-create-iv]: Cannot open source device in foo/bar line #
一些托管规格:
- 共享主机
- PHP 5.3.18
- Linux的
- 这个Mcrypt 2.5.8
什么发生在框架mcrypt_create_iv()获取的地方调用。它通过应该在Linux上运行的MCRYPT_DEV_URANDOM全局和PHP> = 5.3.0
但由于某些原因,它仍然会给出此ErrorException。如果我将函数硬编码为使用MCRYPT_RAND而不是它的作品,但它为什么会给另一个全局带来错误似乎很奇怪,因为它应该通过这些规范工作。
我能想到的就是某处有些文件夹混淆了,或者/ dev/urandom有问题。我不熟悉这些类型的加密,所以我希望任何人都可以给我一些关于如何解决它的建议。
http://en.wikipedia.org/wiki//dev/random
UPDATE
有人建议我的网站不具有访问加密的文件夹。这可能是问题所在。我正在联系我的虚拟主机。
谢谢!我会联系他们。 – 2013-03-04 14:05:20
为什么不试试你的自我 - print_r(stat('/ dev/urandom')); – symcbean 2013-03-04 14:21:05
@bretterer:谢谢!它确实被封锁了。他们已经更新了Apache设置,现在所有的工作都很好。 – 2013-03-04 16:49:36