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


190

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

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

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

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


3
сначала установите libcurl т.е. yum install libcurl or apt-get install libcurl, После этого настройте свой php 7 с помощью curl ./configure --with-curlи, наконец,
соберите

@Haridarshan Да, хорошо, но это неудобно
Нино Шкопац

Я собрал и установил php 7 с curl и другим расширением. Вам также может понадобиться установить библиотеки devel.
Харидаршан

Ответы:


445

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

sudo apt-get install php-curl

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

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

sudo service apache2 restart

36
..и перезапусти сервис. sudo service apache2 перезапуск
Sydwell

1
Только если вы используете версию веб-сервера apache. Вам не нужно перезапускать Apache для CLI-версии, конечно
CommandZ

аналогично gd2, xmlrpc, мыло и т. д. - работал суффикс всех маленьких букв
msanjay 25.10.16

5
Вместо перезагрузки службы sudo apache2, перезагрузка службы sudo apache2
sudip

Это на самом деле зависит от пакетов, доступных в источниках APT. Сначала обновите пакеты APT, используя apt-get update. Затем введите apt-get install phpи дважды нажмите вкладку. Будет запрошено подтверждение для отображения всего списка, например, Display all n possibilities? (y or n):где N - доступное количество возможностей. Нажмите Y, и вы получите длинный список доступных пакетов, из которого вы можете найти желаемое имя пакета. Конечно, если у вас длинный список, это будет немного утомительно. Но все же вы можете сузить его в зависимости от версии.
Ромео Сьерра

98

Пожалуйста попробуйте

sudo apt-get install php7.0-curl

9
Вы не должны указывать номер версии, если он вам явно не нужен. в противном случае вы можете случайно установить более старую версию.
phil294

2
Ответы только на код и «попробуй это» не приветствуются. Я удивлен, что вам понадобилось так много времени, чтобы получить ни одного отрицательного голоса.
RamenChef

2
В моем случае мне пришлось указать версию, чтобы он работал. Я думаю, это потому, что в моей системе было установлено более одной версии.
padawanTony

1
При обновлении с PHP 5.5 / 5.6 указание номера версии представляется необходимым.
AlexL

пришлось дополнительно sudo apt install curlкому-нибудь знать, почему это так?
Dheeraj

25

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

  • step1 - sudo add-apt-repository ppa: ondrej / php
  • step2 - обновление sudo apt-get
  • шаг 3 - sudo apt-get установить php-curl
  • шаг 4 - перезапуск службы sudo apache2

1
Я не знаю, почему люди отвергли это, попробуй, это может сработать.
Большой Зеленый Аллигатор

1
Да, это работает. Кстати, на шаге 3 вы можете выбрать конкретную версию PHP.
iliaz

1
иногда нужно указать версию вашего php. например: step3 sudo apt-get install php7.1-curl ps ты спасаешь меня от долгой ночи!
Владимир Ч

17

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

sudo add-apt-repository ppa:ondrej/php

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

sudo apt-get install php7.1-curl

Другие ответы привели меня к тому же выводу. Допустим, сейчас это правильно, где другие ответы были правильными для своего времени. Я проверю, что это работает для Ubuntu 18.04, Apache 2. Это предпочтительнее простого «php-curl», который пытается загрузить версию PHP7.2, где (для меня) я хочу продолжать использовать 7.1. Не забудьте перезапустить веб-сервер. После этого, когда phpinfo () раньше показывал cURL только в разделе «Авторы модулей» (Стерлинг Хьюз), теперь у cURL есть свой очень подробный раздел, в настоящее время - 7.58.0.
TonyG

Вы настоящий герой
Берк Кая

Это должен быть принятый ответ. Ответ с большим количеством голосов не помог мне.
Марсело Агимовель

11

Мы можем установить любые расширения 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

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


Ваш ответ не добавляет никакой ценности.
Стефан Виеркант

Ваш ответ не содержит никакой новой информации. Пожалуйста, посмотрите другие ответы.
Стефан Виеркант

3
Это очень хороший ответ, поскольку у человека, ищущего curl, скорее всего, возникнет следующий вопрос о mcrypt. И так далее, поэтому очень полезно иметь там все.
TheKitMurkit

5

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

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

sudo apt-get install php7.2-curl

sudo service apache2 restart

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


2

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

sudo apt-get install php7.1-curl

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

sudo service apache2 restart

1
Я предпочитаю этот ответ, так как он указывает номер версии. Принятый ответ не очень точен.
Аарон Лю

2

Я получил ошибку, что расширение CURL отсутствовало во время установки WebMail Lite 8 на WAMP (так в Windows).

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


Я должен был сделать это также, чтобы заставить CURL работать. (Я попытался скопировать libeay32.dll из версии 7.0.10 в папку 7.3.8, но не сработал.) Не уверен, почему этот файл библиотеки отсутствует в новой установке php 7.3.8.
Стефан

1

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

Он предоставляет php-api, php-bz2, php-календарь, php-ctype, php-curl, php-date, php-exif, php-fileinfo, 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-отражение, php-сессия, php-shmop, php-simplexml, php-сокеты, php-spl, php-токенизатор, php-zend-abi, php-zip, php-zlib .

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


6
Установка php-curl была достаточной :-)
Стефан Виеркант

0

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

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

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

Добавьте ваш C: \ wamp \ bin \ php \ php7.1.15 в ваш путь

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


0

Если у вас есть 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

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


-2

Попробуй, если получишь 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
столько отрицательных ответов, как в ответе Биджая Кумар Оли это отработанное решение!
Владимир Ч
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.