【问题标题】:PHP7 Curl and OpenSSL extensions does not work with Apache 2 Handler on WindowsPHP7 Curl 和 OpenSSL 扩展不适用于 Windows 上的 Apache 2 处理程序
【发布时间】:2016-03-11 22:12:24
【问题描述】:

在 Apache2.2 模块处理程序模式下从 PHP7 初始化 curl 和 openssl 扩展时遇到问题。

如果我使用 FCGI 模式,PHP7 的 curl 和 openssl 工作正常,我可以在 phpinfo 页面中看到它们。

我检查了 curl 和 openssl php 扩展的依赖关系,发现它们动态链接到 libssh2.dll。然后尝试将libssh2.dll添加到路径,系统路径但仍然不起作用。

所以猜测 Apache2.2 可能是一个问题,因为 PHP7 的 curl 和 openssl 扩展在 FCGI 模式下启动时可以正常工作。有没有办法用 ollydbg 或 windbg 来检查?

【问题讨论】:

    标签: windows curl openssl apache2 php-7


    【解决方案1】:

    你必须覆盖这些文件:apache/bin 目录下的 libeay32.dll 和 ssleay32.dll,从你的 php7/ 目录中获取这些文件

    http://php.net/manual/es/openssl.installation.php

    【讨论】:

    • 这是一个正确的答案。此外,问题不仅仅与 apache 2.2 有关,它发生在所有 apache2 版本上。
    • 您可能还需要对libssh2.dll 执行相同操作。根据我自己的经验,情况就是这样。
    【解决方案2】:

    尝试将 Apache 更新到最新的稳定版本。它帮助我解决了 PHP 7.0.6RC1 和 Apache 2.4.4(更新到 2.4.20)的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-22
      • 2016-09-16
      • 2017-01-20
      • 1970-01-01
      • 2012-06-08
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多