¿Cómo instalo la extensión ext-curl con PHP 7?

190

He instalado PHP 7 usando este repositorio , pero cuando intento ejecutar composer install, me da este error:

  • [paquete] requiere ext-curl * -> falta la extensión de PHP solicitada en su sistema.

Con PHP 5, puede instalarlo fácilmente ejecutando el comando yumo apt-get install php5-curl, pero no puedo encontrar cómo instalar el equivalente de PHP 7.

¿Cómo instalo ext-curl para PHP 7?

Stephan Vierkant
fuente
3
instale libcurl primero, es decir. yum install libcurl or apt-get install libcurl. Después de eso, configure su php 7 con curl ./configure --with-curly finalmente realice e instale
Haridarshan
@ Haridarshan Sí, está bien, pero eso es un inconveniente
Nino Škopac
He compilado e instalado php 7 con curl y otra extensión. También es posible que necesite instalar bibliotecas de desarrollo.
Haridarshan

Respuestas:

445

Bueno, pude instalarlo:

sudo apt-get install php-curl

en mi sistema Esto instalará un paquete de dependencia, que depende de la versión predeterminada de php.

Después de eso reinicia apache

sudo service apache2 restart
Sabeeh Chaudhry
fuente
36
..y reiniciar el servicio. sudo service apache2 restart
Sydwell
1
Solo si está utilizando la versión del servidor web apache. No es necesario reiniciar Apache para la versión CLI, por supuesto
CommandZ
Del mismo modo gd2, xmlrpc, jabón, etc - todas las letras pequeñas sufijo trabajaron
msanjay
55
En lugar de reiniciar apache2 de sudo service, recargar apache2 de sudo service
sudip
Esto realmente depende de los paquetes disponibles en las fuentes APT. Primero, actualice los paquetes APT usando apt-get update. Luego escribe apt-get install phpy presiona tab dos veces. Solicitará una confirmación para mostrar la lista completa, como Display all n possibilities? (y or n):donde N es el número disponible de posibilidades. Presione Y y obtendrá una larga lista de paquetes disponibles, de los cuales puede encontrar el nombre del paquete que desea. Por supuesto, si tienes una lista larga, esto será un poco tedioso. Pero aún así puede reducirlo según la versión.
Romeo Sierra
98

por favor, inténtalo

sudo apt-get install php7.0-curl
jk2K
fuente
9
no debe especificar el número de versión si no lo necesita explícitamente. de lo contrario, podría instalar accidentalmente una versión anterior.
phil294
2
Se desaconsejan las respuestas de solo código y "pruebe esto". Me sorprende que te haya tomado tanto tiempo obtener un solo voto negativo.
RamenChef
2
En mi caso, tuve que especificar la versión para que funcione. Supongo que esto se debe a que tenía más de una versión instalada en mi sistema.
padawanTony
1
Si parece ser necesario actualizar desde PHP 5.5 / 5.6 especificando el número de versión.
AlexL
Además, ¿ sudo apt install curlalguien sabe por qué es así?
Dheeraj
25

Si el comando "sudo apt-get install php-curl" no funciona y muestra un error, debemos ejecutar este código antes de instalar curl.

  • paso1 - sudo add-apt-repository ppa: ondrej / php
  • paso 2 - sudo apt-get update
  • paso 3 - sudo apt-get install php-curl
  • paso 4 - reinicio de sudo service apache2
Bijaya Kumar Oli
fuente
1
No sé por qué la gente rechazó esto, pruébalo, puede funcionar.
Big Green Alligator
1
Sí, funciona. Por cierto en el paso 3, en realidad puede elegir una versión específica de PHP.
iliaz
1
a veces necesita especificar la versión de tu php. por ejemplo: step3 sudo apt-get install php7.1-curl ps me salvaste de una larga noche!
Vladimir Ch
17

Probé las soluciones anteriores pero no funcionó para mí, solo en caso de que haya otra persona con los mismos zapatos, esto es lo que hice. Actualicé apt-get con el siguiente comando

sudo add-apt-repository ppa:ondrej/php

esto lo instalé con php curl para la versión de php que estaba usando, la mía era

sudo apt-get install php7.1-curl
Excelente Lawrence
fuente
Otras respuestas me llevaron a la misma conclusión exacta. Digamos que es correcto para Now, donde otras respuestas fueron correctas para su propio tiempo. Verificare que esto funcione para Ubuntu 18.04, Apache 2. Esto es preferible al simple "php-curl" que intenta cargar una versión PHP7.2, donde (para mí) quiero seguir usando 7.1. No olvide reiniciar el servidor web. Después de esto, donde phpinfo () solía mostrar cURL justo debajo de la sección Autores del módulo (Sterling Hughes), ahora cURL tiene su propia sección muy detallada, actualmente en 7.58.0.
TonyG
eres el verdadero héroe
Berk Kaya
Esta debería ser la respuesta aceptada. La respuesta con más votos no me ayudó.
Marcelo Agimóvel
11

Podemos instalar cualquier extensión de PHP7 que necesitemos al momento de instalar Magento, solo use el comando relacionado que le da un error al momento de instalar Magento

sudo apt-get install php7.0-curl
sudo apt-get install php7.0-dom
sudo apt-get install php7.0-mcrypt
sudo apt-get install php7.0-simplexml
sudo apt-get install php7.0-spl
sudo apt-get install php7.0-xsl
sudo apt-get install php7.0-intl
sudo apt-get install php7.0-mbstring
sudo apt-get install php7.0-ctype
sudo apt-get install php7.0-hash
sudo apt-get install php7.0-openssl
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-xmlwriter
sudo apt-get install php7.0-gd
sudo apt-get install php7.0-iconv

¡Gracias! Espero que esto te ayudará

Narendra Solanki
fuente
Su respuesta no agrega ningún valor.
Stephan Vierkant
Su respuesta no contiene ninguna información nueva. Por favor vea las otras respuestas.
Stephan Vierkant
3
Esta es una muy buena respuesta, ya que la persona que busca el rizo probablemente tendrá la próxima pregunta en mente sobre mcrypt. Y así sucesivamente, por lo que es muy útil tener todo allí.
TheKitMurkit
5

Primero inicie sesión en su servidor y verifique la versión de PHP que está instalada en su servidor.

Y luego ejecuta los siguientes comandos:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Reemplace la versión de PHP (php7.2), con su versión de PHP.

PV Varun
fuente
2

Si está utilizando PHP7.1 (intente php -versionencontrar su versión de PHP)

sudo apt-get install php7.1-curl

luego reinicie apache

sudo service apache2 restart
Joyal
fuente
1
Prefiero esta respuesta ya que especifica el número de versión. La respuesta aceptada no es muy precisa.
Aaron Liu
2

Recibí un error de que faltaba la extensión CURL al instalar WebMail Lite 8 en WAMP (así en Windows).

Después de leer que libeay32.dllera necesario y que solo estaba presente en algunas de las carpetas de instalación de PHP (como 7.1.26), cambié la versión de PHP en uso de 7.2.14 a 7.1.26 en el menú de versión de WAMP PHP, y el error desapareció lejos.

SharpC
fuente
Tuve que hacer esto también para que CURL funcione. (Intenté copiar libeay32.dll de la versión 7.0.10 en la carpeta 7.3.8, pero no funcionó). No estoy seguro de por qué falta este archivo de biblioteca en la nueva instalación de php 7.3.8.
Stefan
1

Instalar en pc php70w-common .

Proporciona php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib .

https://webtatic.com/packages/php70/

CiaranSynnott
fuente
66
Instalar 'php-curl' fue suficiente :-)
Stephan Vierkant
0

Usuarios de Windows:

Nota: Nota para los usuarios de Win32 Para habilitar este módulo en un entorno Windows, libeay32.dll y ssleay32.dll o, a partir de OpenSSL 1.1 libcrypto- .dll y libssl- .dll, deben estar presentes en su RUTA. También libssh2.dll debe estar presente en su RUTA. No necesita libcurl.dll del sitio cURL.

https://www.php.net/manual/en/curl.installation.php

Agregue su C: \ wamp \ bin \ php \ php7.1.15 a su RUTA

Reiniciar todos los servicios.

MartyBoggs
fuente
0

Si tienes 404 o errores mientras sudo apt-get install php-curlintentas

sudo apt-get update

e intenta nuevamente

sudo apt-get install php-curl

Pero observe qué versión se instaló (uso php7.3 y php7.4-curl estaba instalado, por lo que no funcionará)

intenta entonces

sudo apt-get install php7.3-curl

Al final, es posible que desee reiniciar servicios como: apache2 o php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

Esto funcionó para mí.

Compruebe si curl está en la lista de módulos instalados para php actual:

php -m

ingrese la descripción de la imagen aquí

Jakub Ujvvary
fuente
-2

Pruébalo si consigues E: Unable to locate package {packageName}

sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php-curl
Liao San Kai
fuente
1
tantos votos negativos, como en la respuesta Bijaya Kumar Oli, ¡es una solución trabajada!
Vladimir Ch