我的網絡主機上的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