我知道还有其他类似标题的问题,例如:
curl_init() function not working
然而,我仍然无法让curl在我的本地主机和服务器上工作。
在这种情况下,我将重点介绍服务器,即Windows Server 2019。
Apache的版本是2.4.46。
PHP的版本是7.4.12。
在php.ini文件中,我有以下未注解的内容:
extension=curl
在扩展文件夹中,我可以看到以下文件:
php_curl.dll
在phpinfo.php页面上,我没有看到curl已经启用,这很奇怪。我唯一看到curl的地方是在模块.authors部分,它看起来像这样:
cURL | Sterling Hughes
我已经重新启动了服务,但仍然收到以下错误:
Fatal error: Uncaught Error: Call to undefined function curl_init()
我做错了什么,我该如何解决?
编辑
我只是添加了这段代码:
echo "<pre>", print_r(get_loaded_extensions()), "</pre>";
我得到以下结果:
Array
(
[0] => Core
[1] => bcmath
[2] => calendar
[3] => ctype
[4] => date
[5] => filter
[6] => hash
[7] => iconv
[8] => json
[9] => SPL
[10] => pcre
[11] => readline
[12] => Reflection
[13] => session
[14] => standard
[15] => mysqlnd
[16] => tokenizer
[17] => zip
[18] => zlib
[19] => libxml
[20] => dom
[21] => PDO
[22] => openssl
[23] => SimpleXML
[24] => xml
[25] => xmlreader
[26] => xmlwriter
[27] => apache2handler
[28] => mysqli
[29] => Phar
[30] => pdo_mysql
)
1
没有一个是用来 curl 的。
2条答案
按热度按时间ccgok5k51#
我最终解决了这个问题,在我的PHP根文件夹中找到了一个名为libssh2.dll的文件,并将其复制/粘贴到Apache bin文件夹中。一旦我这样做了,curl现在就被启用了,我不再得到有问题的错误。我还有其他错误,但那是另一个问题。
fcwjkofz2#
也有类似的问题。我的PHP 8.2-curl已经安装了,但是在某个地方升级了8.3,而8.3-curl没有安装。
当我重新安装8.3和8.2并从头开始重新安装PHP时,它工作正常。