Как установить расширение ext-curl с PHP 7?

Я установил PHP 7 с помощью этого репо, но когда я пытаюсь запустить composer install, он дает это ошибка:

  • [package] требует ext-curl * -> запрошенное расширение PHP curl отсутствует в вашей системе.

С PHP 5 вы можете легко установить его, выполнив команду yum или apt-get install php5-curl, но я не могу найти, как установить эквивалент PHP 7.

Как установить ext-curl для PHP 7?


person Stephan Vierkant    schedule 18.11.2015    source источник
comment
сначала установите libcurl, т.е. yum install libcurl or apt-get install libcurl. После этого настройте свой php 7 с помощью curl ./configure --with-curl и, наконец, сделайте и установите   -  person Haridarshan    schedule 30.01.2016
comment
@Haridarshan Да ладно, но это неудобно   -  person The Onin    schedule 03.02.2016
comment
Я собрал и установил php 7 с curl и другим расширением. Вам также может потребоваться установить библиотеки разработки.   -  person Haridarshan    schedule 03.02.2016


Ответы (12)


Ну, я смог установить его:

sudo apt-get install php-curl

в моей системе. Это установит пакет зависимостей, который зависит от версии php по умолчанию.

После этого перезапустите apache

sudo service apache2 restart
person Sabeeh Chaudhry    schedule 27.01.2016
comment
..и перезапустите службу. перезапуск службы sudo apache2 - person Sydwell; 09.09.2016
comment
Только если вы используете версию веб-сервера apache. Конечно, вам не нужно перезапускать apache для версии CLI - person CommandZ; 24.09.2016
comment
аналогично gd2, xmlrpc, soap и т. д. - все суффиксы строчных букв работали - person msanjay; 25.10.2016
comment
Вместо sudo service apache2 restart, sudo service apache2 reload - person sudip; 16.05.2017
comment
На самом деле это зависит от пакетов, доступных в источниках APT. Сначала обновите пакеты APT, используя apt-get update. Затем введите apt-get install php и дважды нажмите вкладку. Он запросит подтверждение, чтобы отобразить весь список, например Display all n possibilities? (y or n):, где N - доступное количество возможностей. Нажмите Y, и вы получите длинный список доступных пакетов, в котором вы можете найти нужное имя пакета. Конечно, если у вас есть длинный список, это будет немного утомительно. Но все же вы можете сузить его по версии. - person Romeo Sierra; 18.08.2017
comment
для пользователей NGINX просто выполните sudo apt-get install php-curl service nginx reload - person Asuquo12; 02.01.2020

пожалуйста, попробуй

sudo apt-get install php7.0-curl
person jk2K    schedule 12.07.2016
comment
вы не должны указывать номер версии, если он вам явно не нужен. в противном случае вы можете случайно установить старую версию. - person phil294; 16.12.2016
comment
Только код и пробовать эти ответы не рекомендуется. Я удивлен, что вам понадобилось так много времени, чтобы получить хоть один голос против. - person RamenChef; 18.12.2016
comment
В моем случае мне пришлось указать версию, чтобы она работала. Думаю, это потому, что в моей системе было установлено несколько версий. - person padawanTony; 28.12.2016
comment
При обновлении с PHP 5.5 / 5.6, кажется, требуется указать номер версии. - person AlexL; 23.06.2017
comment
пришлось дополнительно сделать sudo apt install curl кто-нибудь знает, почему это так? - person Dheeraj; 09.08.2017
comment
Пожалуйста, укажите номер версии, я застрял с тем же (для elasticsearch php 6.0), после того, как я исправил номер версии, он сработал. - person Satys; 12.03.2018

Если команда «sudo apt-get install php-curl» не работает и отображает ошибку. Мы должны запустить этот код перед установкой curl.

  • шаг1 - sudo add-apt-repository ppa: ondrej / php
  • step2 - sudo apt-get update
  • step3 - sudo apt-get install php-curl
  • step4 - перезапуск службы sudo apache2
person Bijaya Kumar Oli    schedule 18.12.2016
comment
Я не знаю, почему люди проголосовали против этого, попробуйте, это может сработать. - person Big Green Alligator; 01.09.2017
comment
Ага, работает. Кстати, на шаге 3 вы можете выбрать конкретную версию php. - person iliaz; 10.02.2018
comment
иногда нужно указать версию вашего php. например: step3 sudo apt-get install php7.1-curl p.s. ты спасаешь меня от долгой ночи! - person Vladimir Ch; 25.08.2018

Я пробовал вышеуказанные решения, но у меня это не сработало, просто на случай, если кто-то другой окажется в той же обуви, это то, что я сделал. Я обновил apt-get следующей командой

sudo add-apt-repository ppa:ondrej/php

это я установил с помощью php curl для той версии php, которую я использовал, мой был

sudo apt-get install php7.1-curl
person Excellent Lawrence    schedule 19.08.2018
comment
Другие ответы привели меня к точно такому же выводу. Допустим, это правильно сейчас, тогда как другие ответы были правильными для своего времени. Я проверю, работает ли это для Ubuntu 18.04, Apache 2. Это предпочтительнее простого php-curl, который пытается загрузить версию PHP7.2, где (для меня) я хочу продолжать использовать 7.1. Не забудьте перезапустить веб-сервер. После этого, когда phpinfo () использовался для отображения cURL непосредственно под разделом авторов модуля (Стерлинг Хьюз), теперь у cURL есть собственный очень подробный раздел, в настоящее время это 7.58.0. - person TonyG; 02.10.2018
comment
ты настоящий герой - person Berk Kaya; 11.11.2018
comment
Это должен быть принятый ответ. Ответ с большим количеством голосов мне не помог. - person Marcelo Agimóvel; 26.11.2018

Мы можем установить любые расширения PHP7, которые нам нужны во время установки Magento, просто используйте соответствующую команду, которую вы получите во время установки 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

Спасибо! Надеюсь, что это поможет вам

person Narendra Solanki    schedule 25.04.2018
comment
Ваш ответ не добавляет никакой ценности. - person Stephan Vierkant; 25.04.2018
comment
Ваш ответ не содержит новой информации. Пожалуйста, посмотрите другие ответы. - person Stephan Vierkant; 25.04.2018
comment
Это очень хороший ответ, так как у человека, ищущего curl, скорее всего, возникнет следующий вопрос о mcrypt. И так далее, поэтому очень полезно иметь все там. - person TheKitMurkit; 03.09.2018
comment
Почему эти расширения внезапно пропали? Как установить их в автономной Windows с помощью PHP.ini? - person David Spector; 18.07.2021

Если у вас есть 404 или ошибки во время sudo apt-get install php-curl, просто попробуйте

sudo apt-get update

и снова попробуй

sudo apt-get install php-curl

Но обратите внимание, какая версия была установлена ​​(я использую php7.3, а php7.4-curl был установлен - так что работать не будет)

тогда попробуй

sudo apt-get install php7.3-curl

В конце вы можете перезапустить такие службы, как: apache2 или php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

это сработало для меня.

Проверьте, есть ли curl в списке установленных модулей для текущего php:

php -m

введите описание изображения здесь

person Jakub Ujvvary    schedule 08.01.2020

Сначала войдите на свой сервер и проверьте версию PHP, установленную на вашем сервере.

А затем выполните следующие команды:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Замените версию PHP (php7.2) своей версией PHP.

person Varun P V    schedule 16.09.2019

Если вы используете PHP7.1 (попробуйте php -version найти свою версию PHP)

sudo apt-get install php7.1-curl

затем перезапустите apache

sudo service apache2 restart
person Joyal    schedule 15.02.2019
comment
Я предпочитаю этот ответ, поскольку в нем указан номер версии. Принятый ответ не очень точен. - person Aaron Liu; 26.03.2019

При установке WebMail Lite 8 на WAMP (так в Windows).

После прочтения, что libeay32.dll требуется, который присутствует только в некоторых Папки установки PHP (например, 7.1.26), я переключил используемую версию PHP с 7.2.14 на 7.1.26 в меню версии WAMP PHP, и ошибка исчезла.

person SharpC    schedule 30.04.2019
comment
Мне тоже пришлось сделать это, чтобы CURL заработал. (Я попытался скопировать libeay32.dll из версии 7.0.10 в папку 7.3.8, но это не сработало.) Не уверен, почему этот файл библиотеки отсутствует в новой установке php 7.3.8. - person Stefan; 07.11.2019

установите php70w-common.

Он предоставляет 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 -сессия, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib.

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

person CiaranSynnott    schedule 18.11.2015
comment
Достаточно было установить php-curl :-) - person Stephan Vierkant; 18.11.2015

Пользователи Windows:

Примечание. Примечание для пользователей Win32. Чтобы включить этот модуль в среде Windows, необходимо использовать libeay32.dll и ssleay32.dll или, начиная с OpenSSL 1.1, libcrypto- .dll и libssl- .dll. присутствует в вашем PATH. Также libssh2.dll должен присутствовать в вашем PATH. Вам не нужна libcurl.dll с сайта cURL.

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

Добавьте свой C: \ wamp \ bin \ php \ php7.1.15 в свой PATH

Перезапустить все службы

person MartyBoggs    schedule 19.04.2019

Попробуйте, если у вас 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
person Liao San Kai    schedule 01.09.2016
comment
столько голосов против, так как в ответ Биджая Кумар Оли это отработанное решение! - person Vladimir Ch; 25.08.2018