Soy consciente de que existen otras preguntas con un título similar, como las siguientes:
La función curl_init() no funciona
Sin embargo, todavía no puedo hacer que curl funcione en mi host local y en mi servidor.
Para este caso me enfocaré en el servidor, que es un Windows Server 2019.
La versión de Apache es 2.4.46.
La versión de PHP es 7.4.12.
En el archivo php.ini, tengo lo siguiente sin comentar:
extension=curl
En la carpeta de extensión, puedo ver el siguiente archivo:
php_curl.dll
En la página phpinfo.php, no veo que se haya habilitado curl, lo cual es extraño. El único lugar donde veo curl es en la sección module.authors, y se ve así:
cURL | Sterling Hughes
Ya he reiniciado los servicios, pero sigo recibiendo el siguiente error:
Fatal error: Uncaught Error: Call to undefined function curl_init()
¿Qué estoy haciendo mal y cómo puedo solucionarlo?
Acabo de agregar este fragmento de código:
echo "<pre>", print_r(get_loaded_extensions()), "</pre>";
Y me sale lo siguiente:
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
Ninguno de los cuales es para curl.
Finalmente pude resolver este problema al encontrar un archivo en mi carpeta raíz de PHP llamado libssh2.dll y copiar/pegar en la carpeta bin de Apache. Una vez que hice eso, curl ahora está habilitado y ya no recibo el error en cuestión. Recibo otros errores, pero eso es para otra pregunta.