加载 curl 并打开 ssl 库 LoadFile "C:/(php 文件夹路径)/libeay32.dll" LoadFile "C:/(php 文件夹路径)/ssleay32.dll"

加载 curl 并打开 ssl 库 LoadFile "C:/(php 文件夹路径)/libeay32.dll" LoadFile "C:/(php 文件夹路径)/ssleay32.dll"

我一直在尝试在运行 Apache HTTPD 2.4 的 PHP 7.1.4 上启用 curl。到目前为止,我采取的步骤如下:

取消注释 extension=php_curl.dll
确保 ext 路径设置正确(我已通过启用 openssl 测试过,效果很好)
将 PHP 根文件夹添加到我的 PATH 环境变量中
完全停止服务器并重新启动

尽管函数 var_dump(extension_loaded('curl')); 为假,并且 curl 没有在 phpinfo(); 下列出。

我已经运行 PHP --ri curl 并且它显示:cURL 支持 => 已启用 cURL 信息 => 7.53.1

我还在 curl dll 上运行了 deplister,它表明所有行均正常。

请您告知我其他调试步骤或者我可能犯的愚蠢错误(我觉得我花了太多时间用全新的眼光来看待这个问题......)

更多系统信息:编译器 MSVC14 (Visual C++ 2015)
架构 x64
Windows 7 平台

答案1

这救了我的命(https://www.php.net/manual/en/curl.installation.php

在 Apache 2.4 32 位版本 Windows 7 x64 上升级到 php 7.1.6

这个 curl 实现有效:

  1. C:/(php 文件夹路径)/php.ini 启用扩展=php_curl.dll

libeay32.dll,ssleay32.dll,libssh2.dll直接在php7文件夹中找到

  1. 将其添加到 Apache/conf/httpd.conf

    加载 curl 并打开 ssl 库 LoadFile "C:/(php 文件夹路径)/libeay32.dll" LoadFile "C:/(php 文件夹路径)/ssleay32.dll"

LoadFile“C:/(php 文件夹路径)/libssh2.dll”

如果您找不到其中一些 DLL,请尝试下载非 TS 版本的 php 并从该文件夹复制它们。

答案2

您通过命令行运行的 PHP 和 Apache 使用的 PHP 是两个不同的东西。您的 CLI 版本的 PHP 具有 CURL 扩展,而您的 mod_php / php-fpm 版本没有。

您需要安装适合您的 mod_php / php-fpm 版本的扩展。

找到 Apache PHP 的 PHP INI 文件所在的位置,并进行编辑以包含 CURL 模块。

答案3

作为独立 HTTPd 运行时我的批处理脚本上有此行。

设置路径=%SystemRoot%;%SystemRoot%\System32;%~dp0php72;%~dp0Apache24\bin

它解决了我使用 Apache24 x64 和 PHP 7.2 的问题

相关内容