在PHP7 windows10 64位Apache 2.4上启用cURL

时间:2017-01-24 05:56:00

标签: curl 64-bit windows-10 php-7 apache2.4

我正在使用 Windows10 64位 Apache 2.4.25(Win64) PHP 7.1.0-Win32-VC14-x64

当我尝试调用curl_init()函数时,我收到错误提示“调用未定义函数curl_init()” 试过以下

  • 复制ssleay32.dll& libeay32.dll& php7ts.dll到apache / bin文件夹
  • 正确设置路径以包含上述文件“C:/ PHP;”

任何帮助非常感谢。

6 个答案:

答案 0 :(得分:17)

以下是从获取PHP到启用cURL的步骤:

  1. 下载PHP(这些步骤用7.1测试)
  2. 将PHP文件夹添加到PATH环境变量
  3. 使用扩展目录的绝对路径更新php.ini文件并取消注释php_curl.dll和php_openssl.dll扩展
  4. 更新httpd.conf(Apache配置文件)以在PHP文件夹中加载php7apache2_4.dll模块并将PHPIniDir设置为PHP目录
  5. 将libeay32.dll libssh2.dll和ssleay32.dll复制到apache / bin(替换现有的)
  6. 重启Apache。

答案 1 :(得分:7)

我修理了:

1)编辑php.ini文件启用(取消注释)php_curl.dll和php_openssl.dll扩展

2)转到c:/ php7 /

将libssh2.dll复制到c:/ apache24 / bin文件夹中。

3)测试:curl_test.php

$('.coupon').click(function() { 
   $('.coupon1').toggle();
   $('.coupon2').toggle();
)})

答案 2 :(得分:5)

在PHP 7.2.2 Windows 10 Apache 2.4中的

在寻找了为什么不加载cURL库的答案后,我只是将libssh2.dll从\ php复制到\ Apache24 \ bin,一切开始正常工作< / p>

答案 3 :(得分:0)

这对我有用...

环境信息

  • WAMP服务器版本3.1.9
  • Apache 2.4.39
  • PHP 7.2.18

第1步

从PHP下载中,我获得了VC15 x64线程安全(2019-May-01 10:48:48) https://windows.php.net/download#php-7.2

第2步

提取zip文件并将/ext/php_curl.dll复制到C:\wamp64\bin\php\php7.2.18\ext目录(通过覆盖)

第3步

重新启动所有服务

完成

答案 4 :(得分:0)

这可以挽救我的生命(来自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 enable extension = php_curl.dll
  2.   
     

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

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

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

  2.   
     

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

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

答案 5 :(得分:0)

我在Acquia的Dev Desktop上遇到了相同的问题,将libcrypto-1_1-x64.dll和libssl-1_1-x64.dll从PHP7.3文件夹复制到Apache / bin文件夹为我解决了这个问题。

“从1.1.0版开始,OpenSSL确实更改了它们的库名! libeay32.dll现在是libcrypto- .dll(例如64位Windows上的OpenSSL 1.1.x的libcrypto-1_1-x64.dll) ssleay32.dll现在是libssl- .dll(例如64位Windows上的OpenSSL 1.1.x的libssl-1_1-x64.dll)”

  • epos_jk

请参见https://www.php.net/manual/en/curl.installation.php#121921