【问题标题】:Php Openssl not loading why?php Openssl 不加载是什么原因?
【发布时间】:2010-01-20 08:03:46
【问题描述】:

我正在运行一个经过调整的网络邮件应用程序。但是,由于某种原因,未加载 openssl 扩展。我在 php.ini 中启用了它,但是当我运行我的应用程序并使用 get_loaded_extensions 检查加载的扩展时,openssl 不在加载的扩展数组中。这里有什么问题? php_openssl.dll 物理上就在那里——我正在运行一个 wampserver,它看起来还不错。但是在执行端它不起作用。

【问题讨论】:

    标签: php openssl


    【解决方案1】:

    根据 php_openssl.dll 的构建/链接方式,它取决于 libeay32.dll 和/或 ssleay32.dll。 Windows 必须能够(也)将这两个 .dll 加载到运行 php 的进程中,以使 php_openssl.dll 可用/正常运行。
    由于 windows 在可执行文件的目录中搜索 .dll(以及其他位置),请尝试将 libeay32.dll 和 ssleay32.dll 放在 apache/bin 目录(httpd.exe 所在的位置)并重新启动网络服务器。

    另请参阅:Dynamic-Link Library Search Order
    How to use Dependency Walker

    【讨论】:

    • 神秘地一开始问题就消失了:\ - 无论如何谢谢
    • 我知道这是一篇很老的帖子,但我遇到了类似的问题,你的建议实际上已经解决了
    • 我在 Apache 2.4 上运行 PHP 7,检查了 php.ini openssl 扩展,还有 apache bin: libeay、ssleay 和 openssl.exe 已经存在。但还是不行。
    【解决方案2】:

    您是否尝试过重新启动您的 apache 服务器?

    DLL 在正确的位置吗?

    【讨论】:

    【解决方案3】:

    这可能会对您有所帮助。复制windows和windows/system32文件夹中的dll文件,然后重启Apache服务器。

    【讨论】:

      猜你喜欢
      • 2017-04-10
      • 1970-01-01
      • 2012-02-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多