我知道还有其他具有类似标题的问题,例如以下问题:
但是我仍然无法让curl 在我的本地主机和服务器上工作。
对于本例,我将重点关注服务器,即 Windows Server 2019。
Apache的版本是2.4.46。
PHP的版本是7.4.12。
在 php.ini 文件中,我有以下未注释的内容:
extension=curl
在扩展文件夹中,我可以看到以下文件:
php_curl.dll
在phpinfo.php页面上,我没有看到curl已启用,这很奇怪。我看到curl的唯一地方是在module.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
这些都不是为了卷曲。
我最终通过在 PHP 根文件夹中找到一个名为 libssh2.dll 的文件并将其复制/粘贴到 Apache bin 文件夹中来解决这个问题。完成此操作后,curl 现已启用,并且我不再收到相关错误。我遇到了其他错误,但这是另一个问题。
也有类似的问题。 php 8.2-curl 已安装,但某处 8.3 已升级,并且 8.3-curl 未安装。 卸载了8.3和8.2。 从头开始重新安装 php。