Czy ktoś zainstalował Laravel 5 na Ubuntu 16.04? Właśnie przełączyłem się na Ubuntu 16.04 i próbuję zainstalować na nim platformę laravel 5 za pomocą kompozytora. Ale za każdym razem, gdy próbuję stworzyć projekt, otrzymuję ten błąd
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/laravel v5.2.0 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
- laravel/laravel v5.2.15 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
- laravel/laravel v5.2.23 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
- laravel/laravel v5.2.24 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
- laravel/laravel v5.2.27 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
- laravel/laravel v5.2.29 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
- laravel/laravel v5.2.31 requires laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18, v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.4, v5.2.5, v5.2.6, v5.2.7, v5.2.8, v5.2.9].
- laravel/framework v5.2.9 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.8 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.7 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.6 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.5 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.4 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.31 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.30 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.3 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.29 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.28 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.27 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.26 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.25 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.24 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.23 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.22 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.21 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.20 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.2 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.19 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.18 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.17 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.16 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.15 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.14 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.13 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.12 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.11 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.10 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.1 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- laravel/framework v5.2.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- Installation request for laravel/laravel ^5.2 -> satisfiable by laravel/laravel[v5.2.0, v5.2.15, v5.2.23, v5.2.24, v5.2.27, v5.2.29, v5.2.31].
To enable extensions, verify that they are enabled in those .ini files:
- /etc/php/5.6/cli/php.ini
- /etc/php/5.6/cli/conf.d/10-opcache.ini
- /etc/php/5.6/cli/conf.d/10-pdo.ini
- /etc/php/5.6/cli/conf.d/20-calendar.ini
- /etc/php/5.6/cli/conf.d/20-ctype.ini
- /etc/php/5.6/cli/conf.d/20-exif.ini
- /etc/php/5.6/cli/conf.d/20-fileinfo.ini
- /etc/php/5.6/cli/conf.d/20-ftp.ini
- /etc/php/5.6/cli/conf.d/20-gettext.ini
- /etc/php/5.6/cli/conf.d/20-iconv.ini
- /etc/php/5.6/cli/conf.d/20-json.ini
- /etc/php/5.6/cli/conf.d/20-phar.ini
- /etc/php/5.6/cli/conf.d/20-posix.ini
- /etc/php/5.6/cli/conf.d/20-readline.ini
- /etc/php/5.6/cli/conf.d/20-shmop.ini
- /etc/php/5.6/cli/conf.d/20-sockets.ini
- /etc/php/5.6/cli/conf.d/20-sysvmsg.ini
- /etc/php/5.6/cli/conf.d/20-sysvsem.ini
- /etc/php/5.6/cli/conf.d/20-sysvshm.ini
- /etc/php/5.6/cli/conf.d/20-tokenizer.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, deleting ./composer.json.
Czytam artykuły Tutaj jeden z nich mówi, że Ubuntu 16.04 jest domyślnie wyposażony w PHP7, ale nadal możemy używać PHP5. Jednak próbowałem zarówno PHP7, jak i PHP5 i nadal otrzymuję te same błędy! Jakieś pomysły? Dzięki
Uaktualniłem php 5.6.11 do 5.6.21.
Więc w moim przypadku musiałem biec:
PS: Jak zaktualizowałem wersję 5.6.11 do 5.6.21:
Powód aktualizacji: zend_mm_heap uszkodzony podczas aktualizacji kompozytora.
źródło
Są to kroki, które musiałem podjąć, aby zainstalować Laravel 5 na Ubuntu Server 16.04 po nowej aktualizacji
Najpierw musiałem całkowicie usunąć cały PHP, tak jak stwierdził Mohammad Barhoush:
sudo apt-get -y purge php.*
Następnie przeinstalowałem PHP z:
sudo apt install php libapache2-mod-php
sudo apt install php-cli
sudo apt install php-mysql
Po ponownej instalacji PHP w wersji 7.0 zainstalowałem dodatkowe powiązane pakiety, które Mohhammad polecił:
sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext php-gd
I włączył mody
sudo phpenmod mcrypt
sudo phpenmod mbstring
I w końcu ten kompozytor wciąż narzekał na ból, że nie miał rozszerzenia zip,
composer update
więc zainstalowałem:sudo apt-get install php7.0-zip
Potem wszystko poszło dobrze, bez błędów!
Były to kroki niezbędne do uzyskania funkcjonalności laravel 5 pochodzącej z poprzedniej wersji Ubuntu Server LTS. Mam nadzieję, że to pomogło! Z poważaniem :)
-Derick
źródło
Rozszerzenie PHP mbstring znajduje się teraz w osobnym pakiecie, więc musisz wykonać:
źródło
Rozwiązanie oerdnj działa, po instalacji
mbstring
powinieneś włączyć jephp.ini
przed uruchomieniemcomposer install
. W moim przypadku laravel wymaga ext-mbstring i ext-dom:apt-get install php-dom
źródło
Dziękujemy wszystkim za odpowiedzi. W końcu jestem w stanie rozwiązać ten problem, wykonując:
Najpierw całkowicie usuń php:
sudo apt-get -y purge php.*
Ponownie zainstaluj php i te ważne powiązane pakiety:
sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext
Włącz mody (dzięki wideo lewis4u):
sudo phpenmod mcrypt
sudo phpenmod mbstring
źródło
Tam musisz coś zrobić ręcznie w pliku konfiguracyjnym. Odkryłem, że ten artykuł był bardzo pomocny. Najpierw sprawdź, czy biblioteka mbstring.dll jest już zainstalowana w systemie za pomocą funkcji „phpinfo ()”. Jeśli jest włączony, zamiast odkomentować „extension = php_mbstring.dll”, po prostu pozostaw go w komentarzu w pliku konfiguracyjnym php.ini lub jeśli go nie ma, zainstaluj go przez
sudo apt-get install php-mbstring php7.0-mbstring
Następnie skonfiguruj następujące elementy.
To wszystko .. Myślę, że znasz resztę rzeczy, takich jak instalacja laravel i wszystko ...
źródło
Miałem więc ten sam problem, co powyższy facet, w którym musiałem zainstalować php-dom, więc próbowałem uruchomić,
apt-get install php-dom
ale właśnie pojawił się komunikatJako, że jestem trochę nowy w terminalu, uznałem to za nieco mylące, ale używam Ubuntu 16.04 z php7, więc po prostu uruchomiłem:
apt-get install php7.0-xml
i to działało dla mnie ... mam nadzieję, że to komuś pomoże!źródło
Aby zainstalować
Laravel 5.4
naUbuntu 16.04
jak w dokumentacji laravel z czeku:php -v
Twoja wersja php musi byćPHP >= 5.6.4
php -m
zaOpenSSL PHP Extension
iPDO PHP Extension
.Terminal:
sudo apt install php-mbstring
i sprawdź ponowniephp -m
zaMbstring PHP Extension
iTokenizer PHP Extension
.Terminal:
sudo apt install php-xml
i sprawdź ponowniephp -m
zaXML PHP Extension
Pobierz Kompozytora, wykonując 4 kroki w terminalu:
php -r "copy (' https://getcomposer.org/installer ', 'composer-setup.php');"
php -r "if (plik hash ('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88deboo {instalowany'; 'ech' {uszkodzony ') {install' zweryfikowany 'Zainstaluj' zweryfikowany 'Zainstaluj' zweryfikowany {zainstaluj '') php ');} echo PHP_EOL; "
php composer-setup.php
php -r "unlink ('composer-setup.php');"
Sprawdź kompozytora w terminalu:
php composer.phar
Zainstaluj Laravel w terminalu:
php composer.phar global require "laravel/installer"
Dane wyjściowe w terminalu pokażą twój bieżący katalog
/home/yourname/.config/composer
, przejdź do bieżącego katalogu i naciśnij,ctrl+h
aby pokazać ukryty plik.Przejdź do
.config
folderu, a następniecomposer
folderu z następującą zawartością: zawartość folderu kompozytoraTworzenie
Laravel project
się/var/www/html
w terminalu:php composer.phar create-project --prefer-dist laravel/laravel /var/www/html/myLaravel
Otwórz myLaravel w terminalu, a następnie wklej:
php artisan serve
i skopiujhttp://127.0.0.1:8000
do przeglądarkiźródło