Кто-нибудь установил laravel 5 на Ubuntu 16.04? Я только что перешел на Ubuntu 16.04, и я пытаюсь установить larvel 5 framework на нем, используя композитор. Но каждый раз, когда я пытаюсь создать проект, он дает мне этот erros
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, так и amp; PHP5 и все равно получайте те же ошибки! Есть идеи? Благодаря
Я обновил php 5.6.11 до 5.6.21.
Итак, в моем случае мне пришлось запустить:
sudo apt-get install php5.6-mbstring
PS: Как я обновился с 5.6. От 11 до 5.6.21:
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
Причина обновления: zend_mm_heap поврежден во время обновления композитора.
Там вам нужно сделать что-то вручную в файле конфигурации. Я узнал, что эта статья действительно была полезной. Во-первых, необходимо проверить, что библиотека погоды mbstring.dll уже установлена в системе с помощью функции «phpinfo ()». Если его включить, а не раскомментировать «extension = php_mbstring.dll», просто сохраните его в файле конфигурации php.ini или если его там нет, установите его sudo apt-get install php-mbstring php7.0-mbstring
. Затем просто настройте следующее.
; mbstring.language = All
;mbstring.internal_encoding = UTF-8
;mbstring.http_output = UTF-8
;mbstring.encoding_translation = On
;mbstring.func_overload = 0
Вот и все .. Я думаю, что вы знаете остальную часть вещей, например, как установить laravel и все ..
Эти шаги я должен был предпринять, чтобы установить Laravel 5 на Ubuntu Server 16.04 после нового обновления
Сначала мне пришлось полностью удалить все PHP, так как Мохаммад Бархуш заявил:
sudo apt-get -y purge php.*Затем я переустановил PHP с помощью:
sudo apt-get -y purge php.* sudo apt install php-cli sudo apt install php-mysqlAfter переустановка PHP ver.7.0 Я установил дополнительные связанные пакеты, рекомендованные Мохаммадом:
sudo apt install php-cliИ включил моды
sudo phpenmod mcrypt sudo apt install php-mysql sudo apt-get install php7.0-zipПосле этого он прошел отлично, без ошибок!
Это были шаги, необходимые для того, чтобы я получил laravel 5, исходя из предыдущей версии LTS Ubuntu Server. Надеюсь, это помогло! С наилучшими пожеланиями:)
-Derick
Из-за большого интереса к этому вопросу я решил обновить его и создать небольшой скрипт bash для установки всего вам нужно работать с Laravel (этот с NGINX)
https://github.com/emilas44/laravel-5.4-on-Ubuntu/blob/master/script.sh
Вы можете просто скопировать его и отредактировать по своему усмотрению ... возможно, у вас уже есть некоторые компоненты, установленные внутри скрипта, и если да, вы можете свободно удалять те части, которые вам не нужны.
Laravel 5.2 ниже:
sudo apt-get install git
sudo apt-get install zip
sudo apt-get install tasksel
sudo tasksel install lamp-server
sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite
sudo systemctl restart apache2
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo apt-get install phpmyadmin
позже доступный через localhost / phpmyadmin
cd /var/www/html/
sudo composer create-project laravel/laravel work --prefer-dist
sudo chmod -R 777 work (do not set 777 on "live" server!)
sudo gedit /etc/apache2/sites-available/work.com.conf
и вставить его внутри этого документа
#/etc/apache2/sites-available/work.com.conf contains following lines
<VirtualHost *:80>
ServerName work.com
DocumentRoot /var/www/html/work/public
<Directory /var/www/html/work/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
sudo a2ensite work.com
service apache2 reload
sudo gedit /etc/hosts //space between gedit and destination!
#/etc/hosts contents following lines
127.0.0.1 work.com
или использовать эту команду
sudo -- sh -c "echo '\n127.0.0.1 \twork.com'>> /etc/hosts"
Я сделал учебник по youtube, как сделать все правильно ... Со всеми вещами, которые вам нужно для работы с laravel. Вот ссылка: https://github.com/emilas44/laravel-5.4-on-Ubuntu/blob/master/script.sh
Итак, у меня была такая же проблема, как у вышеупомянутого парня, где мне нужно было установить php-dom, поэтому я попытался запустить apt-get install php-dom, но он просто придумал сообщение
Package php-dom is a virtual package provided by:
php5.5-xml 5.5.35-1+donate.sury.org~xenial+2
php7.0-xml 7.0.6-1+donate.sury.org~xenial+1
php5.6-xml 5.6.21-1+donate.sury.org~xenial+2
You should explicitly select one to install.
немного новый для терминала. Я нашел это немного запутанным, но я запускаю unbuntu 16.04 с php7, поэтому я просто запустил: apt-get install php7.0-xml, и это сработало для меня ... надеюсь, что это поможет кому-то!
Спасибо всем за ваши ответы .. Я, наконец, смог решить эту проблему, выполнив:
Полностью удалить php first: 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Чтобы установить Laravel 5.4 на Ubuntu 16.04, как в документации Laravel, с проверкой:
Проверьте свою версию PHP в терминале с помощью: 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. Терминал: sudo apt install php-xml и еще раз проверьте php -m для XML PHP Extension Загрузить композитор с помощью этих 4 шагов в терминале: php -r "copy ('https://getcomposer.org/installer', 'composer-setup.php' );» php -r "if (hash_file ('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') {echo 'Installer verified';} else {echo 'Installer corrupt'; unlink ('composer-setup. 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 в ваш браузерРасширение PHP mbstring теперь находится в отдельном пакете, поэтому вам нужно сделать:
apt-get install php-mbstring
Решение oerdnj работает, после установки mbstring вы должны включить его в php.ini перед запуском composer install. В моем случае laravel требует ext-mbstring и ext-dom: apt-get install php-dom
Я обновил php 5.6.11 до 5.6.21.
Итак, в моем случае мне пришлось запустить:
sudo apt-get install php5.6-mbstring
PS: Как я обновился с 5.6. От 11 до 5.6.21:
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
Причина обновления: zend_mm_heap поврежден во время обновления композитора.
Там вам нужно сделать что-то вручную в файле конфигурации. Я узнал, что эта статья действительно была полезной. Во-первых, необходимо проверить, что библиотека погоды mbstring.dll уже установлена в системе с помощью функции «phpinfo ()». Если его включить, а не раскомментировать «extension = php_mbstring.dll», просто сохраните его в файле конфигурации php.ini или если его там нет, установите его sudo apt-get install php-mbstring php7.0-mbstring
. Затем просто настройте следующее.
; mbstring.language = All
;mbstring.internal_encoding = UTF-8
;mbstring.http_output = UTF-8
;mbstring.encoding_translation = On
;mbstring.func_overload = 0
Вот и все .. Я думаю, что вы знаете остальную часть вещей, например, как установить laravel и все ..
Эти шаги я должен был предпринять, чтобы установить Laravel 5 на Ubuntu Server 16.04 после нового обновления
Сначала мне пришлось полностью удалить все PHP, так как Мохаммад Бархуш заявил:
sudo apt-get -y purge php.*Затем я переустановил PHP с помощью:
sudo apt-get -y purge php.* sudo apt install php-cli sudo apt install php-mysqlAfter переустановка PHP ver.7.0 Я установил дополнительные связанные пакеты, рекомендованные Мохаммадом:
sudo apt install php-cliИ включил моды
sudo phpenmod mcrypt sudo apt install php-mysql sudo apt-get install php7.0-zipПосле этого он прошел отлично, без ошибок!
Это были шаги, необходимые для того, чтобы я получил laravel 5, исходя из предыдущей версии LTS Ubuntu Server. Надеюсь, это помогло! С наилучшими пожеланиями:)
-Derick
Из-за большого интереса к этому вопросу я решил обновить его и создать небольшой скрипт bash для установки всего вам нужно работать с Laravel (этот с NGINX)
https://github.com/emilas44/laravel-5.4-on-Ubuntu/blob/master/script.sh
Вы можете просто скопировать его и отредактировать по своему усмотрению ... возможно, у вас уже есть некоторые компоненты, установленные внутри скрипта, и если да, вы можете свободно удалять те части, которые вам не нужны.
Laravel 5.2 ниже:
sudo apt-get install git
sudo apt-get install zip
sudo apt-get install tasksel
sudo tasksel install lamp-server
sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite
sudo systemctl restart apache2
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo apt-get install phpmyadmin
позже доступный через localhost / phpmyadmin
cd /var/www/html/
sudo composer create-project laravel/laravel work --prefer-dist
sudo chmod -R 777 work (do not set 777 on "live" server!)
sudo gedit /etc/apache2/sites-available/work.com.conf
и вставить его внутри этого документа
#/etc/apache2/sites-available/work.com.conf contains following lines
<VirtualHost *:80>
ServerName work.com
DocumentRoot /var/www/html/work/public
<Directory /var/www/html/work/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
sudo a2ensite work.com
service apache2 reload
sudo gedit /etc/hosts //space between gedit and destination!
#/etc/hosts contents following lines
127.0.0.1 work.com
или использовать эту команду
sudo -- sh -c "echo '\n127.0.0.1 \twork.com'>> /etc/hosts"
Я сделал учебник по youtube, как сделать все правильно ... Со всеми вещами, которые вам нужно для работы с laravel. Вот ссылка: https://github.com/emilas44/laravel-5.4-on-Ubuntu/blob/master/script.sh
Итак, у меня была такая же проблема, как у вышеупомянутого парня, где мне нужно было установить php-dom, поэтому я попытался запустить apt-get install php-dom, но он просто придумал сообщение
Package php-dom is a virtual package provided by:
php5.5-xml 5.5.35-1+donate.sury.org~xenial+2
php7.0-xml 7.0.6-1+donate.sury.org~xenial+1
php5.6-xml 5.6.21-1+donate.sury.org~xenial+2
You should explicitly select one to install.
немного новый для терминала. Я нашел это немного запутанным, но я запускаю unbuntu 16.04 с php7, поэтому я просто запустил: apt-get install php7.0-xml, и это сработало для меня ... надеюсь, что это поможет кому-то!
Спасибо всем за ваши ответы .. Я, наконец, смог решить эту проблему, выполнив:
Полностью удалить php first: 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Чтобы установить Laravel 5.4 на Ubuntu 16.04, как в документации Laravel, с проверкой:
Проверьте свою версию PHP в терминале с помощью: 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. Терминал: sudo apt install php-xml и еще раз проверьте php -m для XML PHP Extension Загрузить композитор с помощью этих 4 шагов в терминале: php -r "copy ('https://getcomposer.org/installer', 'composer-setup.php' );» php -r "if (hash_file ('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') {echo 'Installer verified';} else {echo 'Installer corrupt'; unlink ('composer-setup. 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 в ваш браузерРасширение PHP mbstring теперь находится в отдельном пакете, поэтому вам нужно сделать:
apt-get install php-mbstring
Решение oerdnj работает, после установки mbstring вы должны включить его в php.ini перед запуском composer install. В моем случае laravel требует ext-mbstring и ext-dom: apt-get install php-dom