Làm cách nào để cài đặt phần mở rộng ext-curl với PHP 7?


188

Tôi đã cài đặt PHP 7 bằng cách sử dụng repo này , nhưng khi tôi cố chạy composer install, nó đã báo lỗi này:

  • [gói] yêu cầu ext-curl * -> phần mở rộng PHP được yêu cầu bị thiếu trong hệ thống của bạn.

Với PHP 5, bạn có thể dễ dàng cài đặt nó bằng cách chạy lệnh yumhoặc apt-get install php5-curllệnh, nhưng tôi không thể tìm thấy cách cài đặt tương đương PHP 7.

Làm cách nào để cài đặt ext-curl cho PHP 7?


3
cài đặt libcurl trước tức là. yum install libcurl or apt-get install libcurl. Sau đó, cấu hình php 7 của bạn với curl ./configure --with-curlvà cuối cùng thực hiện và cài đặt
Haridarshan

@Haridarshan Yea được, nhưng điều đó thật bất tiện
Nino kopac

Tôi đã xây dựng và cài đặt php 7 với curl và phần mở rộng khác. Bạn cũng có thể cần phải cài đặt thư viện phát.
Haridarshan

Câu trả lời:


441

Vâng, tôi đã có thể cài đặt nó bằng cách:

sudo apt-get install php-curl

trên hệ thống của tôi. Điều này sẽ cài đặt một gói phụ thuộc, phụ thuộc vào phiên bản php mặc định.

Sau đó khởi động lại apache

sudo service apache2 restart

36
..và khởi động lại dịch vụ. sudo dịch vụ apache2 khởi động lại
Sydwell

1
Chỉ khi bạn đang sử dụng phiên bản máy chủ web apache. Tất nhiên, bạn không cần phải khởi động lại apache cho phiên bản CLI
CommandZ

tương tự gd2, xmlrpc, xà phòng, v.v. - tất cả các hậu tố chữ nhỏ đều hoạt động
msanjay

5
Thay vì khởi động lại dịch vụ sudo apache2, sudo dịch vụ apache2 tải lại
sudip

Điều này thực sự phụ thuộc vào các gói có sẵn trong các nguồn APT. Đầu tiên, cập nhật các gói APT bằng cách sử dụng apt-get update. Sau đó gõ apt-get install phpvà nhấn tab hai lần. Nó sẽ yêu cầu xác nhận để hiển thị toàn bộ danh sách như Display all n possibilities? (y or n):N là số khả năng có sẵn. Nhấn Y và bạn sẽ nhận được một danh sách dài các gói có sẵn, trong đó bạn có thể tìm thấy tên gói mà bạn muốn. Tất nhiên, nếu bạn có một danh sách dài, điều này sẽ hơi tẻ nhạt. Nhưng bạn vẫn có thể thu hẹp nó dựa trên phiên bản.
Romeo Sierra

98

Vui lòng thử

sudo apt-get install php7.0-curl

9
bạn không nên chỉ định số phiên bản nếu bạn không cần nó. nếu không, bạn có thể vô tình cài đặt một phiên bản cũ hơn.
phil294

2
Các câu trả lời chỉ dành cho mã và "thử cái này" không được khuyến khích. Tôi ngạc nhiên khi bạn mất quá nhiều thời gian để có được một downvote.
RamenChef

2
Trong trường hợp của tôi, tôi phải chỉ định phiên bản cho nó hoạt động. Tôi đoán điều này là do tôi đã cài đặt nhiều hơn một phiên bản trong hệ thống của mình.
padawanTony

1
Nếu nâng cấp từ PHP 5.5 / 5.6 chỉ định số phiên bản dường như là bắt buộc.
AlexL

Ngoài ra có sudo apt install curlai biết tại sao lại như vậy không?
Dheeraj

25

Nếu lệnh "sudo apt-get install php-curl" không hoạt động và hiển thị lỗi Chúng ta nên chạy mã này trước khi cài đặt curl.

  • step1 - sudo add-apt-repository ppa: ondrej / php
  • step2 - sudo apt-get cập nhật
  • step3 - sudo apt-get cài đặt php-curl
  • step4 - sudo dịch vụ apache2 khởi động lại

1
Tôi không biết tại sao mọi người đánh giá thấp điều này, hãy thử đi, nó có thể hoạt động.
Cá sấu xanh lớn

1
Đúng, nó hoạt động. BTW ở bước 3 bạn thực sự có thể chọn một phiên bản php cụ thể.
iliaz

1
đôi khi nó cần chỉ định phiên bản php của bạn. ví dụ: step3 sudo apt-get install php7.1-curl ps bạn cứu tôi từ một đêm dài!
Vladimir Ch

17

Tôi đã thử các giải pháp trên nhưng nó không hiệu quả với tôi, chỉ cần có bất kỳ người nào khác trong cùng một đôi giày, đây là những gì tôi đã làm. Tôi đã cập nhật apt-get bằng lệnh sau

sudo add-apt-repository ppa:ondrej/php

cái này tôi đã cài đặt với php curl cho phiên bản php mà tôi đang sử dụng, cái của tôi là

sudo apt-get install php7.1-curl

Các câu trả lời khác dẫn tôi đến kết luận chính xác. Hãy nói rằng nó đúng cho Bây giờ, nơi các câu trả lời khác là chính xác cho thời gian của họ. Tôi sẽ xác minh rằng điều này hoạt động cho Ubuntu 18.04, Apache 2. Điều này thích hợp hơn với "php-curl" đơn giản cố tải phiên bản PHP7.2, trong đó (đối với tôi) tôi muốn tiếp tục sử dụng 7.1. Đừng quên khởi động lại máy chủ web. Sau này, nơi phpinfo () được sử dụng để hiển thị cURL ngay dưới phần Mô-đun tác giả (Sterling Hughes), bây giờ cURL có phần rất chi tiết, hiện tại là 7.58.0.
TonyG

bạn là anh hùng thực sự
Berk Kaya

Đây phải là câu trả lời được chấp nhận. Câu trả lời với nhiều phiếu hơn đã không giúp tôi.
Marcelo Agimóvel

11

Chúng tôi có thể cài đặt bất kỳ Tiện ích mở rộng PHP7 nào cần thiết tại thời điểm cài đặt Magento chỉ cần sử dụng lệnh liên quan mà bạn gặp lỗi tại thời điểm cài đặt 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

Cảm ơn! Hy vọng điều này sẽ giúp bạn


Câu trả lời của bạn không thêm bất kỳ giá trị nào.
Stephan Vierkant

Câu trả lời của bạn không chứa bất kỳ thông tin mới. Xin vui lòng xem các câu trả lời khác.
Stephan Vierkant

3
Đây là một câu trả lời rất hay, vì người tìm kiếm curl có thể sẽ có câu hỏi tiếp theo trong đầu về mcrypt. Và như vậy, rất hữu ích khi có mọi thứ ở đó.
TheKitMurkit

5

Đầu tiên Đăng nhập vào máy chủ của bạn và kiểm tra phiên bản PHP được cài đặt trên máy chủ của bạn.

Và sau đó chạy các lệnh sau:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Thay thế phiên bản PHP (php7.2), bằng phiên bản PHP của bạn.


2

Nếu bạn đang sử dụng PHP7.1 (hãy thử php -versiontìm phiên bản PHP của bạn)

sudo apt-get install php7.1-curl

sau đó khởi động lại apache

sudo service apache2 restart

1
Tôi thích câu trả lời này vì nó chỉ định số phiên bản. Câu trả lời được chấp nhận là không chính xác.
Aaron Liu

2

Tôi đã gặp lỗi khi tiện ích mở rộng CURL bị thiếu trong khi cài đặt WebMail Lite 8 trên WAMP (trên Windows).

Sau khi đọc libeay32.dllyêu cầu chỉ xuất hiện trong một số thư mục cài đặt PHP (chẳng hạn như 7.1.26), tôi đã chuyển phiên bản PHP được sử dụng từ 7.2,14 sang 7.1,26 trong menu phiên bản WAMP PHP và lỗi đã xảy ra xa.


Tôi đã phải làm điều này là tốt để có được CURL để làm việc. (Tôi đã thử sao chép libeay32.dll từ phiên bản 7.0.10 vào thư mục 7.3.8, nhưng không hoạt động.) Không chắc tại sao tệp thư viện này bị thiếu trong quá trình cài đặt php 7.3.8 mới.
Stefan

1

cài đặt php70w-common .

Nó cung cấp 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-Refl, php-session, php-shmop, php-simplexml, php-socket, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib .

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


6
Cài đặt 'php-curl' là đủ :-)
Stephan Vierkant

0

Người dùng Windows:

Lưu ý: Lưu ý cho người dùng Win32 Để kích hoạt mô-đun này trên môi trường Windows, libeay32.dll và ssleay32.dll, hoặc, kể từ OpenSSL 1.1 libcrypto- và libssl- ., Phải có trong PATH của bạn. Ngoài ra libssh2.dll phải có mặt trong PATH của bạn. Bạn không cần libcurl.dll từ trang web cURL.

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

Thêm C: \ wamp \ bin \ php \ php7.1.15 vào PATH của bạn

Khởi động lại tất cả các dịch vụ


0

Nếu bạn có 404 hoặc lỗi trong khi sudo apt-get install php-curlchỉ cần thử

sudo apt-get update

và thử lại

sudo apt-get install php-curl

Nhưng hãy chú ý phiên bản nào đã được cài đặt (tôi sử dụng php7.3 và php7.4-curl đã được cài đặt - vì vậy nó sẽ không hoạt động)

thử đi

sudo apt-get install php7.3-curl

Cuối cùng, bạn có thể muốn khởi động lại các dịch vụ như: apache2 hoặc php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

Điều này làm việc cho tôi.

Kiểm tra xem curl có trong danh sách mô-đun đã cài đặt cho php hiện tại không:

php -m

nhập mô tả hình ảnh ở đây


-2

Hãy thử nếu bạn nhận được 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
rất nhiều downvote, như trong câu trả lời Bijaya Kumar Oli, đó là giải pháp hiệu quả!
Vladimir Ch
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.