apache 调用未定义的函数curl_init()

agyaoht7  于 2023-10-23  发布在  Apache
关注(0)|答案(2)|浏览(144)

我知道还有其他类似标题的问题,例如:
curl_init() function not working
然而,我仍然无法让curl在我的本地主机和服务器上工作。
在这种情况下,我将重点介绍服务器,即Windows Server 2019。
Apache的版本是2.4.46。
PHP的版本是7.4.12。
在php.ini文件中,我有以下未注解的内容:

  1. extension=curl

在扩展文件夹中,我可以看到以下文件:

  1. php_curl.dll

在phpinfo.php页面上,我没有看到curl已经启用,这很奇怪。我唯一看到curl的地方是在模块.authors部分,它看起来像这样:

  1. cURL | Sterling Hughes

我已经重新启动了服务,但仍然收到以下错误:

  1. Fatal error: Uncaught Error: Call to undefined function curl_init()

我做错了什么,我该如何解决?

编辑

我只是添加了这段代码:

  1. echo "<pre>", print_r(get_loaded_extensions()), "</pre>";

我得到以下结果:

  1. Array
  2. (
  3. [0] => Core
  4. [1] => bcmath
  5. [2] => calendar
  6. [3] => ctype
  7. [4] => date
  8. [5] => filter
  9. [6] => hash
  10. [7] => iconv
  11. [8] => json
  12. [9] => SPL
  13. [10] => pcre
  14. [11] => readline
  15. [12] => Reflection
  16. [13] => session
  17. [14] => standard
  18. [15] => mysqlnd
  19. [16] => tokenizer
  20. [17] => zip
  21. [18] => zlib
  22. [19] => libxml
  23. [20] => dom
  24. [21] => PDO
  25. [22] => openssl
  26. [23] => SimpleXML
  27. [24] => xml
  28. [25] => xmlreader
  29. [26] => xmlwriter
  30. [27] => apache2handler
  31. [28] => mysqli
  32. [29] => Phar
  33. [30] => pdo_mysql
  34. )
  35. 1

没有一个是用来 curl 的。

ccgok5k5

ccgok5k51#

我最终解决了这个问题,在我的PHP根文件夹中找到了一个名为libssh2.dll的文件,并将其复制/粘贴到Apache bin文件夹中。一旦我这样做了,curl现在就被启用了,我不再得到有问题的错误。我还有其他错误,但那是另一个问题。

fcwjkofz

fcwjkofz2#

也有类似的问题。我的PHP 8.2-curl已经安装了,但是在某个地方升级了8.3,而8.3-curl没有安装。
当我重新安装8.3和8.2并从头开始重新安装PHP时,它工作正常。

相关问题