Як встановити розширення ext-curl за допомогою PHP 7?


188

Я встановив PHP 7 за допомогою цього репо , але коли я намагаюся запустити composer install, він видає цю помилку:

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

За допомогою PHP 5 ви можете легко встановити його, запустивши команду yumабо apt-get install php5-curl, але я не можу знайти, як встановити еквівалент PHP 7.

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


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

@Haridarshan Так, але це незручно
Ніно Шкопак

Я створив і встановив php 7 з curl та іншим розширенням. Можливо, вам також знадобиться встановити бібліотеки розробок.
Харидаршан

Відповіді:


443

Ну, я зміг встановити його:

sudo apt-get install php-curl

в моїй системі. Це встановить пакет залежності, який залежить від типової версії php.

Після цього перезапустіть апаш

sudo service apache2 restart

36
..і перезапустіть службу. sudo service apache2 перезапуск
Sydwell

1
Тільки якщо ви використовуєте версію веб-сервера apache. Вам не потрібно перезапускати апаш для курсу CLI, звичайно
CommandZ

аналогічно gd2, xmlrpc, мило тощо - працювали всі суфікси з малих літер
msanjay

5
Замість того, щоб послуга sudo service apache2 перезапустилася, sudo service apache2 reload
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
  • step3 - sudo apt-get install php-curl
  • step4 - перезапуск служби sudo служби apache2

1
Я не знаю, чому люди спростували це, дайте йому піти, це може спрацювати.
Великий зелений алігатор

1
Так, це працює. BTW на кроці 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
Це дуже гарна відповідь, оскільки людина, яка шукає завиток, швидше за все, матиме наступне запитання про 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-поширений .

Він надає php-api, php-bz2, php-календар, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-хеш, 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-sockets, 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.