Jak zainstalować rozszerzenie ext-curl w PHP 7?

188

Zainstalowałem PHP 7 przy użyciu tego repozytorium , ale gdy próbuję uruchomić composer install, pojawia się następujący błąd:

  • [pakiet] wymaga ext-curl * -> brakuje wymaganego curl rozszerzenia PHP w twoim systemie.

W PHP 5 możesz go łatwo zainstalować, uruchamiając komendę yumlub apt-get install php5-curl, ale nie mogę znaleźć sposobu na zainstalowanie odpowiednika PHP 7.

Jak zainstalować ext-curl dla PHP 7?

Stephan Vierkant
źródło
3
zainstaluj najpierw libcurl tj. yum install libcurl or apt-get install libcurl. Następnie skonfiguruj php 7 z curl, ./configure --with-curla na koniec stwórz i zainstaluj
Haridarshan
@Haridarshan Tak, w porządku, ale to niewygodne
Nino Škopac
Zbudowałem i zainstalowałem php 7 z curl i innym rozszerzeniem. Może być również konieczne zainstalowanie bibliotek programistycznych.
Haridarshan

Odpowiedzi:

443

Cóż, udało mi się go zainstalować:

sudo apt-get install php-curl

w moim systemie. Spowoduje to zainstalowanie pakietu zależności, który zależy od domyślnej wersji php.

Po tym uruchom ponownie apache

sudo service apache2 restart
Sabeeh Chaudhry
źródło
36
..i zrestartuj usługę. sudo service apache2 restart
Sydwell 9.09.16
1
Tylko jeśli korzystasz z wersji serwera Apache. Oczywiście nie trzeba ponownie uruchamiać apache dla wersji CLI
CommandZ
podobnie gd2, xmlrpc, mydło itp. - wszystkie sufiksy małych liter działały
msanjay 25.10.16
5
Zamiast ponownego uruchomienia usługi sudo apache2, przeładowanie usługi sudo apache2
sudip
To zależy od pakietów dostępnych w źródłach APT. Najpierw zaktualizuj pakiety APT za pomocą apt-get update. Następnie wpisz apt-get install phpi naciśnij dwukrotnie klawisz Tab. Poprosi o potwierdzenie, aby wyświetlić całą listę, np. Display all n possibilities? (y or n):Gdzie N jest dostępną liczbą możliwości. Naciśnij klawisz Y, a otrzymasz długą listę dostępnych pakietów, z której możesz znaleźć żądaną nazwę pakietu. Oczywiście, jeśli masz długą listę, będzie to trochę nudne. Ale nadal możesz go zawęzić w zależności od wersji.
Romeo Sierra,
98

proszę spróbować

sudo apt-get install php7.0-curl
jk2K
źródło
9
nie powinieneś podawać numeru wersji, jeśli nie potrzebujesz go wyraźnie. w przeciwnym razie możesz przypadkowo zainstalować starszą wersję.
phil294
2
Nie zaleca się odpowiedzi tylko na kod i „spróbuj tego”. Dziwię się, że tak długo zajęło ci zdobycie jednego głosu.
RamenChef,
2
W moim przypadku musiałem określić wersję, aby działała. Wydaje mi się, że dzieje się tak, ponieważ miałem więcej niż jedną wersję zainstalowaną w moim systemie.
padawanTony
1
Jeśli aktualizacja z PHP 5.5 / 5.6 wymaga podania numeru wersji.
AlexL
musiałem dodatkowo sudo apt install curlwiedzieć, dlaczego tak jest?
Dheeraj,
25

Jeśli polecenie „sudo apt-get install php-curl” nie działa i wyświetla się błąd, należy uruchomić ten kod przed instalacją curl.

  • step1 - sudo add-apt-repository ppa: ondrej / php
  • step2 - sudo apt-get update
  • step3 - sudo apt-get install php-curl
  • step4 - restart apache2 usługi sudo
Bijaya Kumar Oli
źródło
1
Nie wiem, dlaczego ludzie głosowali za tym, daj temu szansę, to może zadziałać.
Big Green Alligator
1
Tak, to działa. BTW w kroku 3 możesz faktycznie wybrać konkretną wersję php.
iliaz
1
czasem musi podać wersję twojego php. na przykład: step3 sudo apt-get install php7.1-curl ps ratujesz mnie od długiej nocy!
Vladimir Ch
17

Wypróbowałem powyższe rozwiązania, ale to nie zadziałało, po prostu wpadnij na inną osobę w tych samych butach, to właśnie zrobiłem. Zaktualizowałem apt-get za pomocą następującego polecenia

sudo add-apt-repository ppa:ondrej/php

to zainstalowałem z phl curl dla wersji php, której używałem, moja była

sudo apt-get install php7.1-curl
Doskonały Lawrence
źródło
Inne odpowiedzi doprowadziły mnie do tego samego wniosku. Powiedzmy, że jest to poprawne dla Teraz, gdzie inne odpowiedzi były prawidłowe dla ich własnego czasu. Sprawdzę, czy to działa dla Ubuntu 18.04, Apache 2. Jest to lepsze niż proste „php-curl”, które próbuje załadować wersję PHP7.2, gdzie (dla mnie) chcę nadal używać 7.1. Nie zapomnij zrestartować serwera. Po tym, gdzie phpinfo () wyświetlał cURL tuż pod sekcją Autorzy modułów (Sterling Hughes), teraz cURL ma swoją własną bardzo szczegółową sekcję, obecnie na 7.58.0.
TonyG
jesteś prawdziwym bohaterem
Berk Kaya,
To powinna być zaakceptowana odpowiedź. Odpowiedź większą liczbą głosów nie pomogła mi.
Marcelo Agimóvel
11

Możemy zainstalować dowolne rozszerzenia PHP7, które są nam potrzebne w czasie instalacji Magento, wystarczy użyć powiązanego polecenia, które pojawi się podczas instalacji 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

Dzięki! Mam nadzieję, że to ci pomoże

Narendra Solanki
źródło
Twoja odpowiedź nie wnosi żadnej wartości.
Stephan Vierkant,
Twoja odpowiedź nie zawiera żadnych nowych informacji. Zobacz inne odpowiedzi.
Stephan Vierkant,
3
To bardzo dobra odpowiedź, ponieważ osoba szukająca curl prawdopodobnie będzie miała następne pytanie na temat mcrypt. I tak dalej, więc bardzo przydatne jest posiadanie wszystkiego.
TheKitMurkit
5

Najpierw zaloguj się na swój serwer i sprawdź wersję PHP zainstalowaną na twoim serwerze.

A następnie uruchom następujące polecenia:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Zamień wersję PHP (php7.2) na swoją wersję PHP.

Varun PV
źródło
2

Jeśli używasz PHP7.1 (spróbuj php -versionznaleźć swoją wersję PHP)

sudo apt-get install php7.1-curl

następnie uruchom ponownie apache

sudo service apache2 restart
Joyal
źródło
1
Wolę tę odpowiedź, ponieważ określa ona numer wersji. Przyjęta odpowiedź nie jest zbyt dokładna.
Aaron Liu
2

Wystąpił błąd, którego brakowało rozszerzenie CURL podczas instalowania WebMail Lite 8 na WAMP (tak na Windows).

Po przeczytaniu tego, co libeay32.dllbyło wymagane, które było obecne tylko w niektórych folderach instalacyjnych PHP (takich jak 7.1.26), zmieniłem używaną wersję PHP z 7.2.14 na 7.1.26 w menu wersji PHP WAMP, i błąd zniknął z dala.

SharpC
źródło
Musiałem to również zrobić, aby CURL działał. (Próbowałem skopiować libeay32.dll z wersji 7.0.10 do folderu 7.3.8, ale nie działało.) Nie wiem, dlaczego brakuje tego pliku biblioteki w nowej instalacji php 7.3.8.
Stefan
1

zainstaluj php70w-common .

Zapewnia php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, filtr php, 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, sesja php, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib .

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

CiaranSynnott
źródło
6
Instalacja „php-curl” była wystarczająca :-)
Stephan Vierkant
0

Użytkownicy systemu Windows:

Uwaga: Uwaga dla użytkowników Win32 Aby włączyć ten moduł w środowisku Windows, w ścieżce muszą znajdować się biblioteki libeay32.dll i ssleay32.dll lub, począwszy od OpenSSL 1.1 libcrypto- .dll i libssl- .dll. Również libssh2.dll musi być obecny w twojej ŚCIEŻCE. Nie potrzebujesz libcurl.dll z witryny cURL.

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

Dodaj swój C: \ wamp \ bin \ php \ php7.1.15 do ŚCIEŻKI

Uruchom ponownie wszystkie usługi

MartyBoggs
źródło
0

Jeśli masz 404 lub błędy, sudo apt-get install php-curlpo prostu spróbuj

sudo apt-get update

i jeszcze raz spróbuj

sudo apt-get install php-curl

Ale zauważ, jaka wersja została zainstalowana (korzystam z php7.3 i php7.4-curl - więc to nie będzie działać)

spróbuj wtedy

sudo apt-get install php7.3-curl

Na koniec możesz zrestartować usługi takie jak: apache2 lub php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

to zadziałało dla mnie.

Sprawdź, czy curl znajduje się na liście zainstalowanych modułów dla bieżącego php:

php -m

wprowadź opis zdjęcia tutaj

Jakub Ujvvary
źródło
-2

Wypróbuj, jeśli masz 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
źródło
1
tylu głosów negatywnych, że w odpowiedzi Bijaya Kumar Oli działa rozwiązanie!
Vladimir Ch