Mac için ext-zip yükle


55

Çalışmaya çalışıyorum composer updateve aşağıdaki hataları alıyorum:

Problem 1
    - The requested PHP extension ext-zip * is missing from your system. Install or enable PHP's zip extension.
  Problem 2
    - maatwebsite/excel 3.1.10 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.11 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.12 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.13 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.14 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.15 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.16 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.17 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.7 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.8 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.9 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.x-dev requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.2.x-dev requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.0 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.1 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.2 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.3 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.4 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.5 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.6 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - phpoffice/phpspreadsheet 1.9.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.2 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.7.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.6.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.2 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.4.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.4.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - Installation request for maatwebsite/excel ^3.1.0 -> satisfiable by maatwebsite/excel[3.1.0, 3.1.1, 3.1.10, 3.1.11, 3.1.12, 3.1.13, 3.1.14, 3.1.15, 3.1.16, 3.1.17, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.8, 3.1.9, 3.1.x-dev, 3.2.x-dev].

koşarken composer update

Bir gecede hayatımın hatasını yaptım ve Mac'imin işletim sistemini otomatik olarak güncellemesine izin verdim, bu yüzden şimdi macOS Catalina'dayım.

Eklemeyi denedim

 "require": {
    "ext-zip": "*",
 }

benim composer.json..but ama bu uzantıyı indirmiyor.


1
Bu hata sadece PHP'nizin php-zipuzantısının yüklü olmadığı anlamına gelir .
Latheesan

Aynı konuya sahip olan phpinfo, yüklü olduğunu söylüyor ... çok garip ... teşekkürler Apple ...
Jamie Robinson

@JamieRobinson bir düzeltme bulursanız lütfen bana bildirin!
Abdul

@Abdul şimdiye kadar aldığım en iyi "besteci yüklemek --ignore-platform-reqs" ... onun bir çözüm değil ama kısa vadede sorunla karşılaşır
Jamie Robinson

@JamieRobinson bilginiz için, birisi benim için çalışan bir şeyle cevap verdi.
Abdul

Yanıtlar:


129

Mac'imi Catalina sürümüne güncelledikten sonra da aynı sorunu yaşadım. İşte benim için işe yarayan.

brew update
brew install php@7.3
brew link php@7.3

Ardından konsolunuzu yeniden yükleyin.

Zip modülü ile php 7.3.10'u kuracak. Sürümü kontrol etmek için php -v ve modüller için php -m kullanabilirsiniz.


Size çok teşekkür ederim! büyüleyici bir şekilde çalıştı!
Abdul

2
@Aldranor bunun neredeyse işe yaradığını hissediyor, bir demlemek çalıştırmak iyi bir plan gibi geliyor. Ancak, şimdi "Hata: sybinink sbin / php-fpm" alınamadı "/ usr / local / sbin yazılabilir değil." ... demlemek sudo da çalışmaz ... herhangi bir fikir?
Jamie Robinson

8
Sonunda düzeltildi! "Demlemek doktor" çalıştırmak bu klasörün mevcut olmadığını ve yazılabilir olmadığını söylüyor ve size çalıştırmak için komutlar veriyor. Bu komutları çalıştırın, bağlantı komutunu tekrar çalıştırın, konsolu yeniden yükleyin, hepsi normale döndü :)
Jamie Robinson

8
"php@7.3 yalnızca fıçı içindir ve --force" ile bağlantılı olması gerektiğini düşünüyorsanız "brew link --force php@7.3" ifadesini kullanın
leeCoder

3
Bu işe yaradı, ama ben ekledikten sonra: export PATH="/usr/local/opt/php@7.3/bin:$PATH" export PATH="/usr/local/opt/php@7.3/sbin:$PATH"benim .zshrc
Loosie94

14

Aşağıdaki komut macOS Catalina'daki sorunu düzeltti

brew link php@7.3 --force

6

Demlemek bağlantı sizin için çalışmıyorsa, tarafından yüklenen php sürümünüzü kontrol edin:

ls /usr/local/opt/php*

Burada, aşağıdaki gibi bir sürüm göreceksiniz:

/usr/local/opt/php@7.3/bin:$PATH

Size şöyle bir çıktı vermelidir:

/usr/local/opt/php@7.3:
INSTALL_RECEIPT.json        include
LICENSE                     lib
NEWS                        pecl
README.md                   sbin
bin                         share
homebrew.mxcl.php@7.3.plist

Şimdi bunu $ PATH'ınıza bağlamanız yeterlidir:

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Not: Terminal kurulumum olduğu için .zshrc kullanıyorum. Sizinki bash ise, buna göre kullanın.

Hangi php sürümünün MacOS'unuza bağlı olduğunu şu şekilde kontrol edebilirsiniz:

which php

Bu size aşağıdakilerin çıktısını vermelidir:

/usr/local/opt/php@7.3/bin/php

Bu kadar. Artık besteci güncellemesini denerseniz size uzantı sorunu vermemelidir.

Kaynak (bir kısmı): https://medium.com/@jjdanek/instal-php-extensions-on-mac-after-homebrew-acfddd6be602


6

10 Mart 2020'de benim için çalışıyor:

brew install php  

PHP hakkında çalışan tek komuttur. Son yazılarda gösterilen komutların kullanımdan kaldırıldığını düşünüyorum.


1
24 Mart 2020 onaylandı
Frank Leal

26 Mart 2020 onaylandı.
Muhammed Ali

7 Nisan Uyumlu
PSN

14 Nisan 2021. Gelecekten onaylandı.
Pandem1c

4

Sırasında python symlink ile ilgili sorunlar yaşadım brew install php.

/usr/local/Frameworks bu yüzden onu oluşturmak zorunda kaldım: sudo mkdir /usr/local/Frameworks

cd /usr/local/

Sonra onu seçmek zorunda kaldım: sudo chown -R myuser:admin Frameworks

İzin ayarlarını, içindeki diğer klasörlere dayandırdım /usr/local.

Sonra kaçabilirdim brew link python. Sonra brew install phptekrar koştum ve tamamlandı.

php -v şimdi php 7.3.10 önce bana php 7.3.18 verir, sanırım.


---> sudo chown -R $ (whoami) bin vb kullanmayı öneririm lib sbin payı var var Çerçeveler <---- yerine ---> sudo chown -R myuser: admin Çerçeveler <---
Ben Spi

2

Zorla bağlama yerine MacOS Catalina'daki sorunu da çözebilirsiniz

bash profilinize php ikili yolunu ekleyerek örneğin:

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.3/sbinbin:$PATH"' >> ~/.bash_profile

2

İhtiyacınız yoksa ext-zip(örneğin, sadece hızlı bir düzeltme yapmak istiyorsunuz), --ignore-platform-reqsgereksinimleri yok saymak için seçeneği kullanabilirsiniz :

$ composer update --ignore-platform-reqs

1

Bu benim için çalıştı

brew update brew install php@7.3 brew link php@7.3 brew link php@7.3 --force

Umarım yardımcı olur


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.