【问题标题】:PHP Mcrypt error: Cannot open source devicePHP Mcrypt 错误:无法开源设备
【发布时间】:2017-04-13 17:18:06
【问题描述】:

出于某种原因,我从PHP 5.4.2 降级为PHP 5.2.8,我启用了mcrypt 扩展,但是当我运行mcrypt_create_iv ($size, MCRYPT_DEV_RANDOM) 函数时,它无法正常执行,并且我收到以下警告

Warning: mcrypt_create_iv() [function.mcrypt-create-iv]:Cannot open source device

请问我该如何解决这个问题?感谢您的任何建议。

【问题讨论】:

    标签: php mcrypt


    【解决方案1】:

    出现问题是因为 MCRYPT_DEV_URANDOM 仅在 Windows 上受支持,从 PHP version 5.3.0 开始,这就是它在降级之前运行良好的原因。

    我改成MCRYPT_RAND,在以前的版本上工作,问题就解决了。

    【讨论】:

      【解决方案2】:

      找到文件includes/CryptRandom.php。找到以下行 (可能在第 285 行左右): $iv = mcrypt_create_iv( $rem, MCRYPT_DEV_URANDOM );将其更改为: $iv = mcrypt_create_iv( $rem, MCRYPT_RAND );

      Source

      【讨论】:

      • 克里斯,谢谢,我在发布这个问题之前看到了那个链接,但我找不到那个文件。我用 wamp。
      【解决方案3】:

      检查设备文件(如果是 Linux):

      /dev/random
      

      【讨论】:

        猜你喜欢
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-18
        • 2017-04-18
        • 2011-04-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多