Кто-нибудь устанавливал laravel 5 на Ubuntu 16.04? Я только что перешел на Ubuntu 16.04 и пытаюсь установить на него фреймворк laravel 5 с помощью composer. Но каждый раз, когда я пытаюсь создать проект, это дает мне эту ошибку
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.
Я читаю статьи. Здесь один из них говорит, что Ubuntu 16.04 поставляется с PHP7 по умолчанию, но мы все еще можем использовать PHP5. Однако я пробовал оба PHP7 и PHP5 и все еще получаю те же ошибки! Любые идеи? Благодарность
Я обновил php 5.6.11 до 5.6.21.
Итак, в моем случае мне пришлось бежать:
PS: Как я обновил с 5.6.11 до 5.6.21 следующее:
Причина обновления: zend_mm_heap поврежден во время обновления композитора.
источник
Вот шаги, которые мне пришлось предпринять, чтобы установить Laravel 5 на Ubuntu Server 16.04 после нового обновления
Сначала мне пришлось полностью удалить весь PHP, так как Мохаммад Бархуш заявил:
sudo apt-get -y purge php.*
Затем я переустановил PHP с:
sudo apt install php libapache2-mod-php
sudo apt install php-cli
sudo apt install php-mysql
После переустановки PHP ver.7.0 я установил дополнительные связанные пакеты, которые рекомендовал Мохаммед:
sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext php-gd
И включил моды
sudo phpenmod mcrypt
sudo phpenmod mbstring
И, наконец, после всего этого композитор все еще испытывал боль, жалуясь, что у него нет расширения zip для a,
composer update
поэтому я установил следующее:sudo apt-get install php7.0-zip
После этого все работало без ошибок!
Это были шаги, необходимые для работы laravel 5 с предыдущей LTS-версии Ubuntu Server. Надеюсь, это помогло! С наилучшими пожеланиями :)
-Derick
источник
Расширение PHP mbstring теперь находится в отдельном пакете, поэтому вам нужно сделать:
источник
Решение oerdnj работает, после установки
mbstring
вы должны включить егоphp.ini
перед запускомcomposer install
. В моем случае laravel требует ext-mbstring и ext-dom:apt-get install php-dom
источник
Спасибо всем за ваши ответы .. Я наконец смог решить эту проблему, выполнив:
Сначала полностью удалите php:
sudo apt-get -y purge php.*
Переустановите php и эти важные связанные пакеты:
sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext
Включить моды (благодаря видео lewis4u):
sudo phpenmod mcrypt
sudo phpenmod mbstring
источник
Там вы должны сделать что-то вручную в файле конфигурации .. Я обнаружил, что эта статья была действительно полезной. Во-первых, необходимо проверить, установлена ли в системе библиотека погоды mbstring.dll с помощью функции phpinfo (). Если он включен, вместо того, чтобы раскомментировать 'extension = php_mbstring.dll', просто оставьте комментарий в файле конфигурации php.ini или, если его нет, установите его
sudo apt-get install php-mbstring php7.0-mbstring
Затем просто настройте следующее.
Вот и все .. Я думаю, вы знаете все остальное, например, как установить Laravel и все ..
источник
Так что у меня была та же проблема, что и у приведенного выше парня, где мне нужно было установить php-dom, поэтому я попытался запустить,
apt-get install php-dom
но он просто выдал сообщениеПоскольку я немного новичок в терминале, я нашел это немного запутанным, но я использую Ubuntu 16.04 с php7, поэтому я просто запустил:
apt-get install php7.0-xml
и это сработало для меня ... надеюсь, это кому-нибудь поможет!источник
Для того, чтобы установить
Laravel 5.4
наUbuntu 16.04
как в Laravel документации с проверкой:php -v
ваша версия PHP должна бытьPHP >= 5.6.4
php -m
дляOpenSSL PHP Extension
иPDO PHP Extension
.Терминал:
sudo apt install php-mbstring
и проверьте еще разphp -m
дляMbstring PHP Extension
иTokenizer PHP Extension
.Terminal:
sudo apt install php-xml
и проверьте сноваphp -m
дляXML PHP Extension
Загрузите Composer этими 4 шагами в терминале:
php -r "copy (' https://getcomposer.org/installer ', 'composer-setup.php');"
php -r "if (hash_file ('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2355160 '42ab2 echo; php ');} echo PHP_EOL; "
php composer-setup.php
php -r "unlink ('composer-setup.php');"
Проверьте композитора в терминале:
php composer.phar
Установите Laravel в терминале:
php composer.phar global require "laravel/installer"
Вывод в терминале покажет ваш текущий каталог
/home/yourname/.config/composer
, перейдите в текущий каталог и нажмите,ctrl+h
чтобы показать скрытый файл.Перейдите в
.config
папку, а затем вcomposer
папку со следующим содержимым: содержимое папки композитораСоздание
Laravel project
в/var/www/html
терминальном:php composer.phar create-project --prefer-dist laravel/laravel /var/www/html/myLaravel
Откройте myLaravel в терминале, затем вставьте:
php artisan serve
и скопируйтеhttp://127.0.0.1:8000
в браузеристочник