Come installo l'estensione ext-curl con PHP 7?


190

Ho installato PHP 7 usando questo repository , ma quando provo a eseguirlo composer install, viene visualizzato questo errore:

  • [pacchetto] richiede ext-curl * -> manca il ricciolo di estensione PHP richiesto dal tuo sistema.

Con PHP 5, puoi installarlo facilmente eseguendo il comando yumo apt-get install php5-curl, ma non riesco a trovare come installare l'equivalente di PHP 7.

Come installo ext-curl per PHP 7?


3
installa prima libcurl, ad es. yum install libcurl or apt-get install libcurl. Dopodiché configura il tuo php 7 con curl ./configure --with-curle infine crea e installa
Haridarshan il

@Haridarshan Sì, ma questo è scomodo
Nino Škopac,

Ho costruito e installato php 7 con curl e altre estensioni. Potrebbe anche essere necessario installare librerie di sviluppo.
Haridarshan

Risposte:


445

Bene sono stato in grado di installarlo da:

sudo apt-get install php-curl

sul mio sistema. Questo installerà un pacchetto di dipendenze, che dipende dalla versione predefinita di php.

Dopo quel riavvio apache

sudo service apache2 restart

36
..e riavvia il servizio. sudo service apache2 restart
Sydwell

1
Solo se stai utilizzando la versione web server di Apache. Ovviamente non è necessario riavviare apache per la versione della CLI
CommandZ

allo stesso modo gd2, xmlrpc, soap, ecc - tutto il suffisso per le lettere minuscole ha funzionato
msanjay

5
Invece di sudo service apache2 restart, sudo service apache2 ricaricare
sudip

Questo in realtà dipende dai pacchetti disponibili nelle fonti APT. Innanzitutto, aggiorna i pacchetti APT usando apt-get update. Quindi digitare apt-get install phpe premere due volte tab. Chiederà una conferma per visualizzare l'intero elenco come Display all n possibilities? (y or n):dove N è il numero disponibile di possibilità. Premi Y e otterrai un lungo elenco di pacchetti disponibili, tra i quali puoi trovare il nome del pacchetto desiderato. Ovviamente, se hai una lunga lista, questo sarà un po 'noioso. Ma puoi ancora restringerlo in base alla versione.
Romeo Sierra

98

vi preghiamo di provare

sudo apt-get install php7.0-curl

9
non dovresti specificare il numero di versione se non ne hai esplicitamente bisogno. altrimenti potresti accidentalmente installare una versione precedente.
phil294,

2
Le risposte di solo codice e "prova questo" sono scoraggiate. Sono sorpreso che ci sia voluto così tanto tempo per ottenere un singolo voto negativo.
RamenChef,

2
Nel mio caso, ho dovuto specificare la versione affinché funzionasse. Immagino che ciò sia dovuto al fatto che nel mio sistema erano installate più versioni.
padawanTony,

1
Se l'aggiornamento da PHP 5.5 / 5.6 sembra specificare il numero di versione.
AlexL,

sudo apt install curlqualcuno doveva anche sapere perché è così?
Dheeraj,

25

Se il comando "sudo apt-get install php-curl" non funziona e visualizza l'errore Dovremmo eseguire questo codice prima di installare curl.

  • step1 - sudo add-apt-repository ppa: ondrej / php
  • step2 - sudo apt-get update
  • step3 - sudo apt-get install php-curl
  • step4 - riavvio di apache2 sudo service

1
Non so perché la gente abbia votato in negativo, provalo, potrebbe funzionare.
Big Green Alligator

1
Sì, funziona. A proposito, al passaggio 3 puoi effettivamente scegliere una versione php specifica.
iliaz,

1
a volte è necessario specificare la versione del tuo php. per esempio: step3 sudo apt-get install php7.1-curl ps mi salvi da una lunga notte!
Vladimir Ch,

17

Ho provato le soluzioni di cui sopra ma non ha funzionato per me, basta che ci sia qualcun altro con le stesse scarpe, questo è quello che ho fatto. Ho aggiornato apt-get con il seguente comando

sudo add-apt-repository ppa:ondrej/php

questo ho installato con php curl per la versione di php che stavo usando, il mio era

sudo apt-get install php7.1-curl

Altre risposte mi hanno portato alla stessa identica conclusione. Diciamo che è corretto per Now, dove altre risposte erano corrette per il loro tempo. Verificherò che questo funziona per Ubuntu 18.04, Apache 2. Questo è preferibile al semplice "php-curl" che tenta di caricare una versione di PHP7.2, dove (per me) voglio continuare a usare 7.1. Non dimenticare di riavviare il server web. Dopodiché, dove phpinfo () mostrava cURL proprio sotto la sezione Module Authors (Sterling Hughes), ora cURL ha una sua sezione molto dettagliata, attualmente a 7.58.0.
TonyG,

sei il vero eroe
Berk Kaya l'

Questa dovrebbe essere la risposta accettata. La risposta con più voti non mi ha aiutato.
Marcelo Agimóvel,

11

Siamo in grado di installare qualsiasi estensione PHP7 di cui abbiamo bisogno al momento dell'installazione di Magento, basta usare il comando relativo che viene visualizzato al momento dell'installazione in 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

Grazie! Spero che questo ti possa aiutare


La tua risposta non aggiunge alcun valore.
Stephan Vierkant,

La tua risposta non contiene nuove informazioni. Si prega di vedere le altre risposte.
Stephan Vierkant,

3
Questa è una risposta molto buona, poiché la persona in cerca di ricci probabilmente avrà la prossima domanda in mente su mcrypt. E così via, quindi è molto utile avere tutto lì.
TheKitMurkit,

5

Prima accedi al tuo server e controlla la versione di PHP che è installata sul tuo server.

E quindi eseguire i seguenti comandi:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Sostituisci la versione di PHP (php7.2), con la tua versione di PHP.


2

Se stai usando PHP7.1 (prova php -versiona trovare la tua versione di PHP)

sudo apt-get install php7.1-curl

quindi riavviare apache

sudo service apache2 restart

1
Preferisco questa risposta poiché specifica il numero di versione. La risposta accettata non è molto precisa.
Aaron Liu,

2

Ho avuto un errore che mancava l'estensione CURL durante l'installazione di WebMail Lite 8 su WAMP (quindi su Windows).

Dopo aver letto ciò che libeay32.dllera richiesto che era presente solo in alcune delle cartelle di installazione di PHP (come 7.1.26), ho cambiato la versione di PHP in uso dal 7.2.14 al 7.1.26 nel menu della versione di WAMP PHP, e l'errore è andato lontano.


Ho dovuto farlo anche per far funzionare CURL. (Ho provato a copiare libeay32.dll dalla versione 7.0.10 nella cartella 7.3.8, ma non ha funzionato.) Non sono sicuro del motivo per cui questo file di libreria non è presente nella nuova installazione di php 7.3.8.
Stefan,

1

installa php70w-common .

Fornisce 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, socket php, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib .

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


6
L'installazione di 'php-curl' è stata sufficiente :-)
Stephan Vierkant il

0

Utenti Windows:

Nota: Nota per gli utenti di Win32 Per abilitare questo modulo su un ambiente Windows, libeay32.dll e ssleay32.dll o, a partire da OpenSSL 1.1 libcrypto- .dll e libssl- .dll, devono essere presenti nel PERCORSO. Anche libssh2.dll deve essere presente nel PERCORSO. Non è necessario libcurl.dll dal sito cURL.

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

Aggiungi il tuo C: \ wamp \ bin \ php \ php7.1.15 al tuo PERCORSO

Riavvia tutti i servizi


0

Se hai 404 o errori mentre sudo apt-get install php-curlprovi

sudo apt-get update

e riprovare

sudo apt-get install php-curl

Ma nota quale versione è stata installata (uso php7.3 e php7.4-curl è stato installato - quindi non funzionerà)

prova allora

sudo apt-get install php7.3-curl

Alla fine potresti voler riavviare servizi come: apache2 o php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

questo ha funzionato per me.

Controlla se l'arricciatura è nell'elenco dei moduli installati per php corrente:

php -m

inserisci qui la descrizione dell'immagine


-2

Provalo se ottieni 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

1
così tanti voti negativi, come nella risposta Bijaya Kumar Oli è una soluzione funzionante!
Vladimir Ch,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.