Wie installiere ich die ext-curl-Erweiterung mit PHP 7?

188

Ich habe PHP 7 mit diesem Repo installiert , aber wenn ich versuche, es auszuführen composer install, wird der folgende Fehler angezeigt:

  • [Paket] erfordert ext-curl * -> die angeforderte PHP-Erweiterungs-Curl fehlt in Ihrem System.

Mit PHP 5 können Sie es einfach installieren, indem Sie den Befehl yumoder apt-get install php5-curlausführen, aber ich kann nicht finden, wie das PHP 7-Äquivalent installiert wird.

Wie installiere ich ext-curl für PHP 7?

Stephan Vierkant
quelle
3
Installieren Sie zuerst libcurl, dh. yum install libcurl or apt-get install libcurl. Danach konfiguriere dein PHP 7 mit Curl ./configure --with-curlund mache und installiere es schließlich
Haridarshan
@ Haridarshan Ja, okay, aber das ist unpraktisch
Nino Škopac
Ich habe PHP 7 mit Curl und anderen Erweiterungen erstellt und installiert. Möglicherweise müssen Sie auch Entwicklungsbibliotheken installieren.
Haridarshan

Antworten:

441

Nun, ich konnte es installieren durch:

sudo apt-get install php-curl

auf meinem System. Dadurch wird ein Abhängigkeitspaket installiert, das von der Standard-PHP-Version abhängt.

Danach Apache neu starten

sudo service apache2 restart
Sabeeh Chaudhry
quelle
36
..und starten Sie den Dienst neu. Sudo Service
Apache2
1
Nur wenn Sie die Apache-Webserver-Version verwenden. Sie müssen Apache natürlich nicht für die CLI-Version neu starten
CommandZ
ähnlich gd2, xmlrpc, Seife usw. - alle kleinen Buchstaben Suffix funktioniert
msanjay
5
Anstelle des Neustarts von sudo service apache2 wird sudo service apache2 neu
geladen
Dies hängt tatsächlich von den in den APT-Quellen verfügbaren Paketen ab. Aktualisieren Sie zunächst die APT-Pakete mit apt-get update. Geben Sie dann ein apt-get install phpund drücken Sie Tab zweimal. Es wird um eine Bestätigung gebeten, um die gesamte Liste anzuzeigen, Display all n possibilities? (y or n):wobei N die verfügbare Anzahl von Möglichkeiten ist. Drücken Sie Y und Sie erhalten eine lange Liste der verfügbaren Pakete, aus denen Sie den gewünschten Paketnamen finden können. Natürlich, wenn Sie eine lange Liste haben, wird dies ein wenig langweilig sein. Trotzdem können Sie es basierend auf der Version eingrenzen.
Romeo Sierra
98

bitte versuche

sudo apt-get install php7.0-curl
jk2K
quelle
9
Sie sollten die Versionsnummer nicht angeben, wenn Sie sie nicht explizit benötigen. Andernfalls könnten Sie versehentlich eine ältere Version installieren.
Phil294
2
Von Nur-Code- und "Versuchen Sie dies" -Antworten wird abgeraten. Ich bin überrascht, dass Sie so lange gebraucht haben, um eine einzige Abstimmung zu erhalten.
RamenChef
2
In meinem Fall musste ich die Version angeben, damit es funktioniert. Ich denke, das liegt daran, dass ich mehr als eine Version in meinem System installiert hatte.
PadawanTony
1
Wenn ein Upgrade von PHP 5.5 / 5.6 erforderlich ist, scheint die Angabe der Versionsnummer erforderlich zu sein.
AlexL
musste zusätzlich sudo apt install curljemand wissen warum das so ist?
Dheeraj
25

Wenn der Befehl "sudo apt-get install php-curl" nicht funktioniert und Fehler anzeigt, sollten wir diesen Code ausführen, bevor wir curl installieren.

  • Schritt 1 - sudo add-apt-repository ppa: ondrej / php
  • Schritt 2 - Sudo Apt-Get Update
  • schritt3 - sudo apt-get installiere php-curl
  • Schritt 4 - Neustart des Sudo-Dienstes Apache2
Bijaya Kumar Oli
quelle
1
Ich weiß nicht, warum die Leute das abgelehnt haben, probieren Sie es aus, es könnte funktionieren.
Big Green Alligator
1
Ja, es funktioniert. Übrigens können Sie in Schritt 3 tatsächlich eine bestimmte PHP-Version auswählen.
Iliaz
1
manchmal muss es die version deines php angeben. zum Beispiel: step3 sudo apt-get install php7.1-curl ps du rettest mich vor einer langen Nacht!
Vladimir Ch
17

Ich habe die oben genannten Lösungen ausprobiert, aber es hat bei mir nicht funktioniert. Wenn nur eine andere Person in den gleichen Schuhen sitzt, habe ich dies getan. Ich habe apt-get mit dem folgenden Befehl aktualisiert

sudo add-apt-repository ppa:ondrej/php

Dies habe ich mit PHP Curl für die Version von PHP installiert, die ich verwendet habe, meine war

sudo apt-get install php7.1-curl
Ausgezeichneter Lawrence
quelle
Andere Antworten führten mich zu genau der gleichen Schlussfolgerung. Nehmen wir an, es ist richtig für Jetzt, wo andere Antworten für ihre eigene Zeit richtig waren. Ich werde überprüfen, ob dies für Ubuntu 18.04, Apache 2 funktioniert. Dies ist dem einfachen "PHP-Curl" vorzuziehen, das versucht, eine PHP7.2-Version zu laden, in der ich (für mich) weiterhin 7.1 verwenden möchte. Vergessen Sie nicht, den Webserver neu zu starten. Danach, wo phpinfo () cURL direkt unter dem Abschnitt Module Authors (Sterling Hughes) anzeigte, hat cURL jetzt einen eigenen sehr detaillierten Abschnitt, der derzeit bei 7.58.0 liegt.
TonyG
Sie sind der wahre Held
Berk Kaya
Dies sollte die akzeptierte Antwort sein. Die Antwort mit mehr Stimmen hat mir nicht geholfen.
Marcelo Agimóvel
11

Wir können alle PHP7-Erweiterungen installieren, die wir zum Zeitpunkt der Installation von Magento benötigen. Verwenden Sie einfach den zugehörigen Befehl, den Sie zum Zeitpunkt der Installation in Magento erhalten

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

Vielen Dank! Hoffe das wird dir helfen

Narendra Solanki
quelle
Ihre Antwort bringt keinen Mehrwert.
Stephan Vierkant
Ihre Antwort enthält keine neuen Informationen. Bitte beachten Sie die anderen Antworten.
Stephan Vierkant
3
Dies ist eine sehr gute Antwort, da eine Person, die nach Locken sucht, wahrscheinlich die nächste Frage zu mcrypt im Kopf hat. Und so weiter, also ist es sehr nützlich, alles dort zu haben.
TheKitMurkit
5

Melden Sie sich zuerst bei Ihrem Server an und überprüfen Sie die auf Ihrem Server installierte PHP-Version.

Führen Sie dann die folgenden Befehle aus:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Ersetzen Sie die PHP-Version (php7.2) durch Ihre PHP-Version.

Varun PV
quelle
2

Wenn Sie PHP7.1 verwenden (versuchen Sie php -version, Ihre PHP-Version zu finden)

sudo apt-get install php7.1-curl

Starten Sie dann Apache neu

sudo service apache2 restart
Joyal
quelle
1
Ich bevorzuge diese Antwort, da sie die Versionsnummer angibt. Die akzeptierte Antwort ist nicht sehr genau.
Aaron Liu
2

Ich habe die Fehlermeldung erhalten, dass die CURL-Erweiterung bei der Installation von WebMail Lite 8 unter WAMP (also unter Windows) fehlte .

Nachdem ich das libeay32.dllerforderliche gelesen hatte, das nur in einigen PHP-Installationsordnern vorhanden war (z. B. 7.1.26), wechselte ich die verwendete PHP-Version im WAMP-PHP-Versionsmenü von 7.2.14 auf 7.1.26, und der Fehler ging Weg.

SharpC
quelle
Ich musste das auch tun, um CURL zum Arbeiten zu bringen. (Ich habe versucht, libeay32.dll von Version 7.0.10 in den Ordner 7.3.8 zu kopieren, aber es hat nicht funktioniert.) Ich bin mir nicht sicher, warum diese Bibliotheksdatei in der neuen PHP 7.3.8-Installation fehlt.
Stefan
1

installiere php70w-common .

Es bietet PHP-API, PHP-BZ2, PHP-Kalender, PHP-Typ, PHP-Curl, PHP-Datum, PHP-Exif, PHP-Fileinfo, PHP-Filter, PHP-FTP, PHP-Gettext, PHP-GMP, PHP-Hash, PHP-Iconv, PHP-JSON, PHP-Libxml, PHP-OpenSL, PHP-PCRE, PHP-Pecl-Fileinfo, PHP-Pecl-Phar, PHP-Pecl-Zip, PHP-Reflexion, PHP-Sitzung, PHP-Shmop, PHP-Simplexml, PHP-Sockets, PHP-Spl, PHP-Tokenizer, PHP-Zend-Abi, PHP-Zip, PHP-Zlib .

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

CiaranSynnott
quelle
6
Die Installation von 'php-curl' war ausreichend :-)
Stephan Vierkant
0

Windows-Benutzer:

Hinweis: Hinweis für Win32-Benutzer Um dieses Modul in einer Windows-Umgebung zu aktivieren, müssen libeay32.dll und ssleay32.dll oder ab OpenSSL 1.1 libcrypto- .dll und libssl- .dll in Ihrem PATH vorhanden sein. Auch libssh2.dll muss in Ihrem PATH vorhanden sein. Sie benötigen keine libcurl.dll von der cURL-Site.

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

Fügen Sie Ihrem PFAD Ihr C: \ wamp \ bin \ php \ php7.1.15 hinzu

Starten Sie alle Dienste neu

MartyBoggs
quelle
0

Wenn Sie 404 oder Fehler haben, sudo apt-get install php-curlversuchen Sie es einfach

sudo apt-get update

und erneut versuchen

sudo apt-get install php-curl

Beachten Sie jedoch, welche Version installiert wurde (ich verwende php7.3 und php7.4-curl wurde installiert - es wird also nicht funktionieren)

versuche es dann

sudo apt-get install php7.3-curl

Am Ende möchten Sie möglicherweise Dienste wie apache2 oder php-fpm neu starten:

sudo apache2 restart
sudo service php7.3-fpm restart

das hat bei mir funktioniert.

Überprüfen Sie, ob Curl in der Liste der installierten Module für das aktuelle PHP enthalten ist:

php -m

Geben Sie hier die Bildbeschreibung ein

Jakub Ujvvary
quelle
-2

Probieren Sie es aus, wenn Sie bekommen 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
quelle
1
so viele Abstimmungen, wie in Antwort Bijaya Kumar Oli ist es Lösung gearbeitet!
Vladimir Ch