Bagaimana cara saya menginstal ekstensi ext-curl dengan PHP 7?

190

Saya telah menginstal PHP 7 menggunakan repo ini , tetapi ketika saya mencoba menjalankannya composer install, ia memberikan kesalahan ini:

  • [paket] membutuhkan ext-curl * -> curl ekstensi PHP yang diminta tidak ada di sistem Anda.

Dengan PHP 5, Anda dapat dengan mudah menginstalnya dengan menjalankan perintah yumatau apt-get install php5-curl, tetapi saya tidak dapat menemukan cara menginstal setara PHP 7.

Bagaimana cara saya menginstal ext-curl untuk PHP 7?

Stephan Vierkant
sumber
3
instal libcurl pertama yaitu. yum install libcurl or apt-get install libcurl. Setelah itu konfigurasikan php 7 Anda dengan curl ./configure --with-curldan akhirnya buat dan instal
Haridarshan
@Haridarshan Ya oke, tapi itu merepotkan
Nino Škopac
Saya telah membangun dan menginstal php 7 dengan ikal dan ekstensi lainnya. Anda mungkin juga perlu menginstal perpustakaan devel.
Haridarshan

Jawaban:

445

Yah saya bisa menginstalnya dengan:

sudo apt-get install php-curl

di sistem saya. Ini akan menginstal paket dependensi, yang tergantung pada versi php default.

Setelah itu restart apache

sudo service apache2 restart
Sabeeh Chaudhry
sumber
36
..dan restart layanan. sudo service apache2 restart
Sydwell
1
Hanya jika Anda menggunakan versi server web apache. Anda tidak perlu me-restart apache untuk versi CLI
CommandZ
sama gd2, xmlrpc, sabun, dll - semua sufiks huruf kecil bekerja
msanjay
5
Alih-alih sudo service apache2 restart, sudo service apache2 reload
sudip
Ini sebenarnya tergantung pada paket yang tersedia di sumber APT. Pertama, perbarui paket APT menggunakan apt-get update. Kemudian ketik apt-get install phpdan tekan tab dua kali. Ini akan meminta konfirmasi untuk menampilkan seluruh daftar seperti di Display all n possibilities? (y or n):mana N adalah jumlah kemungkinan yang tersedia. Tekan Y dan Anda akan mendapatkan daftar panjang paket yang tersedia, dari mana Anda dapat menemukan nama paket yang Anda inginkan. O tentu saja, jika Anda memiliki daftar panjang, ini akan sedikit membosankan. Tapi tetap saja Anda bisa mempersempitnya berdasarkan versi.
Romeo Sierra
98

tolong coba

sudo apt-get install php7.0-curl
jk2K
sumber
9
Anda tidak harus menentukan nomor versi jika Anda tidak membutuhkannya secara eksplisit. jika tidak, Anda mungkin tidak sengaja menginstal versi yang lebih lama.
phil294
2
Hanya jawaban kode dan "coba ini" tidak disarankan. Saya terkejut butuh waktu lama bagi Anda untuk mendapatkan satu downvote.
RamenChef
2
Dalam kasus saya, saya harus menentukan versi agar bisa berfungsi. Saya kira ini karena saya memiliki lebih dari satu versi yang diinstal di sistem saya.
padawanTony
1
Jika memutakhirkan dari PHP 5.5 / 5.6 dengan menyebutkan nomor versi tampaknya diperlukan.
AlexL
harus tambahan apakah sudo apt install curlada yang tahu mengapa begitu?
Dheeraj
25

Jika perintah "sudo apt-get install php-curl" tidak berfungsi dan tampilkan kesalahan. Kita harus menjalankan kode ini sebelum menginstal curl.

  • step1 - sudo add-apt-repository ppa: ondrej / php
  • step2 - sudo apt-get update
  • step3 - sudo apt-get install php-curl
  • step4 - sudo service apache2 restart
Bijaya Kumar Oli
sumber
1
Saya tidak tahu mengapa orang menurunkan ini, coba saja, mungkin berhasil.
Big Green Alligator
1
Ya, itu berhasil. BTW pada langkah 3 Anda sebenarnya dapat memilih versi php tertentu.
iliaz
1
kadang-kadang perlu menentukan versi php Anda. misalnya: step3 sudo apt-get install php7.1-curl ps Anda menyelamatkan saya dari malam yang panjang!
Vladimir Ch
17

Saya mencoba solusi di atas tetapi tidak berhasil untuk saya, hanya memetikan ada orang lain di sepatu yang sama, ini yang saya lakukan. Saya memperbarui apt-get dengan perintah berikut

sudo add-apt-repository ppa:ondrej/php

ini saya instal dengan php curl untuk versi php yang saya gunakan, milik saya

sudo apt-get install php7.1-curl
Lawrence yang luar biasa
sumber
Jawaban lain menuntun saya ke kesimpulan yang sama persis. Katakanlah itu benar untuk Sekarang, di mana jawaban lain benar untuk waktu mereka sendiri. Saya akan memverifikasi bahwa ini berfungsi untuk Ubuntu 18.04, Apache 2. Ini lebih disukai daripada "php-curl" sederhana yang mencoba memuat versi PHP7.2, di mana (untuk saya) saya ingin tetap menggunakan 7.1. Jangan lupa untuk me-restart server web. Setelah ini, di mana phpinfo () digunakan untuk menunjukkan cURL tepat di bawah bagian Penulis Modul (Sterling Hughes), sekarang cURL memiliki bagian itu sendiri sangat detail, saat ini di 7.58.0.
TonyG
Anda adalah pahlawan sejati
Berk Kaya
Ini harus menjadi jawaban yang diterima. Jawaban dengan lebih banyak suara tidak membantu saya.
Marcelo Agimóvel
11

Kita dapat menginstal ekstensi PHP7 yang dibutuhkan pada saat menginstal Magento, cukup gunakan perintah terkait yang Anda dapatkan kesalahan pada saat menginstal 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

Terima kasih! Semoga ini bisa membantu Anda

Narendra Solanki
sumber
Jawaban Anda tidak menambah nilai apa pun.
Stephan Vierkant
Jawaban Anda tidak mengandung informasi baru. Silakan lihat jawaban lainnya.
Stephan Vierkant
3
Ini adalah jawaban yang sangat bagus, karena orang yang mencari curl kemungkinan akan memiliki pertanyaan berikutnya di benaknya tentang mcrypt. Dan seterusnya, jadi sangat berguna untuk memiliki semuanya di sana.
TheKitMurkit
5

Pertama Login ke server Anda dan periksa versi PHP yang diinstal pada server Anda.

Dan kemudian jalankan perintah berikut:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Ganti versi PHP (php7.2), dengan versi PHP Anda.

Varun PV
sumber
2

Jika Anda menggunakan PHP7.1 (coba php -versiontemukan versi PHP Anda)

sudo apt-get install php7.1-curl

kemudian restart apache

sudo service apache2 restart
Setia
sumber
1
Saya lebih suka jawaban ini karena ini menentukan nomor versi. Jawaban yang diterima tidak terlalu akurat.
Aaron Liu
2

Saya mendapat kesalahan bahwa ekstensi CURL tidak ada saat menginstal WebMail Lite 8 di WAMP (begitu juga Windows).

Setelah membaca yang libeay32.dlldiperlukan yang hanya ada di beberapa folder instalasi PHP (seperti 7.1.26), saya mengganti versi PHP yang digunakan dari 7.2.14 ke 7.1.26 di menu versi PHP WAMP, dan kesalahannya hilang jauh.

SharpC
sumber
Saya harus melakukan ini juga agar CURL bekerja. (Saya mencoba menyalin libeay32.dll dari versi 7.0.10 ke folder 7.3.8, tetapi tidak berhasil.) Tidak yakin mengapa file perpustakaan ini hilang dari instalasi php 7.3.8 yang baru.
Stefan
1

instal php70w-common .

Ini menyediakan php-api, php-bz2, php-kalender, 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-refleksi, php-session, php-shmop, php-simplexml, php-soket, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib .

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

CiaranSynnott
sumber
6
Memasang 'php-curl' sudah cukup :-)
Stephan Vierkant
0

Pengguna Windows:

Catatan: Catatan untuk Pengguna Win32 Untuk mengaktifkan modul ini di lingkungan Windows, libeay32.dll dan ssleay32.dll, atau, pada OpenSSL 1.1 libcrypto- .dll dan libssl- .dll, harus ada di PATH Anda. Juga libssh2.dll harus ada di PATH Anda. Anda tidak perlu libcurl.dll dari situs cURL.

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

Tambahkan C Anda: \ wamp \ bin \ php \ php7.1.15 ke PATH Anda

Mulai ulang semua layanan

MartyBoggs
sumber
0

Jika Anda memiliki 404 atau kesalahan saat sudo apt-get install php-curlmencoba

sudo apt-get update

dan coba lagi

sudo apt-get install php-curl

Tetapi perhatikan versi apa yang diinstal (saya menggunakan php7.3 dan php7.4-curl diinstal - sehingga tidak akan berfungsi)

coba itu

sudo apt-get install php7.3-curl

Pada akhirnya Anda mungkin ingin memulai kembali layanan seperti: apache2 atau php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

ini bekerja untuk saya.

Periksa apakah curl ada pada daftar modul yang diinstal untuk php saat ini:

php -m

masukkan deskripsi gambar di sini

Jakub Ujvvary
sumber
-2

Cobalah jika Anda mendapatkannya 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
sumber
1
begitu banyak downvotes, seperti dalam jawaban Bijaya Kumar Oli itu solusi yang berhasil!
Vladimir Ch