Saya mencoba memasang Facebook PHP SDK dengan Composer. Ini yang saya dapatkan
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for facebook/php-sdk dev-master -> satisfiable by facebook/php-sdk[dev-master].
- facebook/php-sdk dev-master requires ext-curl * -> the requested PHP extension curl is missing from your system.
Masalahnya adalah, saya memiliki ekstensi curl diaktifkan (tidak dikomentari di php.ini). Ketika saya lari phpinfo()
, katanya diaktifkan. Satu-satunya petunjuk yang saya miliki adalah ketika saya berlari $ php -m
, garis 'ikal' hilang tetapi saya tidak tahu harus berbuat apa.
Saya memiliki wamp 2.4 di Win8 dan saya menjalankan komposer di cmd.exe.
php
windows
curl
facebook-php-sdk
composer-php
Michal Artazov
sumber
sumber
Jawaban:
Ini disebabkan karena Anda tidak memiliki perpustakaan php5-curl diinstal di sistem Anda,
Pada Ubuntu, cukup jalankan kode baris di bawah ini, dalam kasus Anda di Xamp lihat dokumentasi Xamp
Bagi siapa saja yang menggunakan php7.0
Bagi yang menggunakan php7.1
Bagi mereka yang menggunakan php7.2
Bagi yang menggunakan php7.3
Atau cukup jalankan perintah di bawah ini untuk menginstal menurut versi Anda:
sumber
Ini berfungsi untuk saya: http://ubuntuforums.org/showthread.php?t=1519176
Setelah menginstal komposer menggunakan perintah
curl -sS https://getcomposer.org/installer | php
jalankan jalankansudo apt-get update
kemudian instal ulang dengansudo apt-get install php5-curl
. Maka proses instalasi komposer harus bekerja sehingga Anda akhirnya dapat menjalankanphp composer.phar install
untuk mendapatkan dependensi yang tercantum dalam file composer.json Anda.sumber
Seperti Danack katakan dalam komentar, ada 2 file php.ini. Saya menghapus komentar baris dengan ekstensi ikal di satu di folder Apache, yang merupakan php.ini yang digunakan oleh server web.
Komposer, di sisi lain, menggunakan php untuk konsol yang merupakan cerita yang sangat berbeda. File Php.ini untuk program itu bukan yang ada di folder Apache tetapi ada di folder PHP dan saya harus batalkan komentar pada baris di dalamnya juga. Kemudian saya menjalankan instalasi lagi dan itu OK.
sumber
di php7 run misalnya:
untuk setiap ekstensi yang hilang. Kemudian:
dan akhirnya (dalam folder root proyek):
sumber
Saya mengalami masalah yang sama mencoba menginstal Dropbox SDK.
CURL memang diaktifkan di sistem saya tetapi ini dimaksudkan oleh php.ini di folder wamp \ bin \ apache.
Saya hanya perlu secara manual mengedit php.ini yang terletak di wamp \ bin \ php, batalkan komentar pada
extension=php_curl.dll
baris, restart Wamp dan itu bekerja dengan sempurna.Mengapa ada 2 php.ini dan hanya satu yang digunakan masih menjadi misteri bagi saya ...
Semoga ini bisa membantu seseorang!
sumber
$ php -S localhost:8000
di konsol;
di file php.ini ...Saya mengalami masalah ini setelah memutakhirkan ke PHP5.6. Jawaban saya sangat mirip dengan jawaban Adriano, kecuali saya harus menjalankan:
Perhatikan "5.6". Menginstal php5-curl tidak berhasil untuk saya.
sumber
Menurut https://github.com/composer/composer/issues/2119 Anda dapat memperluas lokal Anda
composer.json
untuk menyatakan bahwa ia menyediakan ekstensi (yang sebenarnya tidak dilakukan - itu sebabnya Anda tidak boleh mempublikasikan paket Anda secara publik, hanya saja gunakan secara internal).sumber
provide
merupakan paket yang dinamai sama dengan ekstensi PHP juga akan memenuhi persyaratan, karena pada tahap membandingkan hal-hal yang diperlukan dan yang sudah ada, ekstensi hanyalah sebuah string seperti nama paket perpustakaan.Aktifkan di php 7 coba perintah di bawah ini
sumber
Saya mengalami masalah serupa ketika mencoba membuat komposer untuk menginstal beberapa dependensi. Ternyata .dll versi Wamp saya datang dengan memiliki konflik, saya kira, dengan 64 bit Windows.
Url ini telah memperbaiki dll keriting: http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
Gulir ke bawah ke bagian yang mengatakan: Fixed Curl Extensions.
Saya mengunduh "php_curl-5.4.3-VC9-x64.zip". Saya hanya menimpa dll di dalam direktori wamp / bin / php / php5.4.3 / ext dengan dll yang ada di file zip dan komposer bekerja lagi.
Saya menjalankan 64 bit Windows 8.
Semoga ini membantu.
sumber
Bagi siapa saja yang mengalami masalah ini di Windows saya tidak dapat menemukan jawaban saya di google sama sekali. Saya baru saja mencoba menjalankan komposer yang memerlukan ext-curl dan ini berhasil. Atau tambahkan berikut ini di file composer.json Anda:
sumber
jika menggunakan wamp, buka:
wamp\bin\php\php.5.x.x\php.ini
temukan:;extension=php_curl.dll
hapus (;)sumber
Saya memiliki Archlinux dengan php 7.2, yang memiliki Curl terintegrasi, jadi tidak ada jumlah konfigurasi yang akan membuat Composer melihat ext-curl, yang dapat dilihat dan digunakan PHP dengan senang hati. Cara mengatasinya adalah menggunakan Komposer dengan --ignore-platform-reqs.
mis. pembaruan komposer --ignore-platform-reqs
Referensi = https://github.com/composer/composer/issues/1426
sumber
coba instal php5-curl dengan menggunakan cuplikan di bawah ini.
jika tidak berhasil coba kode di bawah ini saya yakin itu akan berfungsi dengan baik.
bagi saya itu berhasil ... semua yang terbaik :)
sumber
Dalam kasus saya, saya pindah dari PHP5 ke PHP7 dan saya mendapatkan kesalahan ini, Cukup buka /bin/php/php7/php.ini, lalu batalkan ekstensi ekstensi = php_curl.dll dan mulai ulang server Anda, jalankan kembali instalasi komposer Anda.
sumber
Tidak yakin mengapa jawaban dengan perintah Linux akan mendapatkan begitu banyak suara untuk pertanyaan terkait Windows, tapi tetap saja ...
Jika
phpinfo()
menunjukkan Curl sebagai diaktifkan, namunphp -m
TIDAK, itu berarti Anda mungkin juga memiliki Curlphp-cli.ini
. jalankanphp -i
dan lihat mana file ini dimuat. Jika berbeda, bedakan dan pantulkan serta perbedaan dalam file CLI ini. Maka Anda harus baik untuk pergi.Btw unduh dan gunakan Git Bash, bukan cmd.exe!
sumber