ixudra curl_init php linux ubuntu curl debian

php - ixudra - Error fatal: llamada a la función indefinida curl_init() en... en la línea 9



call to undefined function curl_init() windows (9)

Esto es del sitio web oficial. php.net

Después de la instalación de PHP.

Windows

Mover a la carpeta Windows / system32: libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll

Linux

Mover a la carpeta Apache24 / bin libssh2.dll

A continuación, descomente la extensión = php_curl.dll en php.ini

<?php $filename = "xx.gif"; $handle = fopen($filename, "r"); $data = fread($handle, filesize($filename)); // $data is file data $pvars = array(''image'' => base64_encode($data), ''key'' => IMGUR_API_KEY); $timeout = 30; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, ''http://api.imgur.com/2/upload.xml''); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars); $xml = curl_exec($curl); curl_close ($curl); var_dump($xml); ?>

Estoy jugando con la API de Imgur, pero parece que no funciona. PHP.net dice que curl_init() está en PHP5, pero mi anfitrión dice que no. ¿Cómo puedo hacer que esto funcione?



En las versiones anteriores de Debian y Ubuntu, resolvió esto instalando la extensión Curl para PHP y reiniciando el servidor web. Suponiendo que el servidor web es Apache 2:

sudo apt-get install php5-curl sudo service apache2 restart

En las versiones más nuevas, el nombre del paquete ha cambiado:

sudo apt install php-curl

Es posible que necesites instalar más:

sudo apt-get install curl libcurl3 libcurl3-dev;


Experimentado esto en ubuntu 16.04 ejecutando PHP 7.1.14. Para resolver, primero ponga esto en un script y ejecútelo. Volverá verdadero si curl está instalado y habilitado, de lo contrario, devolverá falso.

<?php var_dump(extension_loaded(''curl'')); ?>

Si devuelve falso, ejecuta

sudo apt-get install php7.1-curl

Y finalmente,

sudo service apache2 restart

Después del reinicio, el script volverá a ser verdadero y, con suerte, su error debería resolverse.


Hay una solución con todos los detalles necesarios para Windows 7 x64:

http://www.youtube.com/watch?v=7qNTi1sEfE8

Está en francés, pero puedes entender todo! Resolví el mismo problema, incluso no hablo francés. :-)

Muchas respuestas olvidan mencionar que necesita agregar una nueva versión del archivo php_curl.dll desde esta ubicación: http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/

Agregué una nueva versión de php_curl.dll del archivo php_curl-5.4.3-VC9-x64.zip a las carpetas: C: / wamp / bin / php / php5.4.3 / ext y C: / Windows / System32 ¡y todo estaba bien!


No tengo suficiente reputación para comentar todavía. Usando Ubuntu y un simple:

sudo apt-get install php5-curl sudo /etc/init.d/apache2 restart

NO funcionó para mí

Por algún motivo, curl.so se instaló en una ubicación que no se recogió de forma predeterminada. Comprobé el extension_dir en mi php.ini y copié sobre el curl.so en mi extension_dir

cp /usr/lib/php5/20090626/curl.so /usr/local/lib/php/extensions/no-debug-non-zts-20090626

Espero que esto ayude a alguien, ajuste las ubicaciones de su camino en consecuencia.


hacer esto

sudo apt-get install php-curl

y reiniciar el servidor

sudo service apache2 restart


Para Ubuntu

Instale la extensión Curl para PHP y reinicie el servidor apache.

sudo apt-get install php5-curl sudo service apache2 restart

Para ventanas

El problema surge debido a que no se incluye lib_curl.dll en PHP. también carga la siguiente extensión si no funciona,

extension=php_bz2.dll extension=php_curl.dll extension=php_dba.dll

Ahora reinicie el servidor Apache. Si obtiene un error "No se puede cargar php_curl.dll", copie las bibliotecas SSLEAY32.PHP, libEAY32.dll (OpenSSL) en la carpeta System32.


$ch = curl_init(''http://api.imgur.com/2/upload.xml''); //initialising our url curl_setopt($ch, CURLOPT_MUTE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //used for https headers curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //used for https headers curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode($pvars)); //the value we post curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //waiting for reponse, default value in php is zero ie, curls normally do not wait for a response curl_setopt($ch, CURLOPT_USERAGENT, ''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0''); $output = curl_exec($ch); //the real execution curl_close($ch); echo $output;

Prueba este código No estoy seguro de ello. Pero lo usé para enviar datos xml a una URL remota.