Встановіть laravel 5 на Ubuntu 16.04


21

Хтось встановив laravel 5 на Ubuntu 16.04? Я щойно перейшов на Ubuntu 16.04 і намагаюся встановити на нього laravel 5 Framework за допомогою композитора. Але кожен раз, коли я намагаюся створити проект, це дає мені ці помилки

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, і все одно отримую однакові помилки! Будь-які ідеї? Спасибі

Відповіді:


30

Як встановити Laravel в Ubuntu 16.04

Оновлення: Laravel 5.4

Через великий інтерес до цього питання я вирішив оновити його та створити невеликий скрипт 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

CURL

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

встановити phpmyadmin

sudo apt-get install phpmyadmin     

пізніше доступний через localhost / phpmyadmin

Створення проекту Laravel

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!)

Створення віртуального хоста work.com

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"

Ось це встановлено laravel!

Я зробив підручник на youtube, як зробити це правильно .... З усіма речами, які потрібно працювати з laravel. Ось посилання: https://www.youtube.com/watch?v=A6TdaRIsG6g


Якщо, наприклад, я не хотів би працювати композитором як судо, що я можу зробити? є попередження: не використовуйте судо з композитором.
m33bo

вам потрібно скласти каталог як користувача та встановити laravel та composer без використання sudo
lewis4u

солодкий. 100+ працює на моїй машині
Семо

Вибачте, чи недостатньо chmod 77 5 ?
Семо

1
папку для зберігання та завантаження потрібно мати 777
lewis4u

3

Я оновив 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 пошкоджений під час оновлення композитора.


3

Це кроки, які мені довелося зробити, щоб встановити 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, composer updateтому я встановив наступне:

  • sudo apt-get install php7.0-zip

Після цього він пройшов чудово, без помилок!

Це були кроки, необхідні для мене, щоб отримати функціонування laravel 5, що виходив з попередньої версії LTS Ubuntu Server. Сподіваюся, це допомогло! З повагою :)

-Дерік



1

Рішення oerdnj працює, після встановлення mbstringслід включити його php.iniперед запуском composer install. У моєму випадку laravel вимагає ext-mbstring та ext-dom:
apt-get install php-dom


але він не розповідає, як додати його до php.ini :(
Джуліацін дель Торо

1

Дякую всім за відповіді. Я нарешті зміг вирішити це питання, зробивши:

  • Спочатку видаліть 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


1

Там вам потрібно зробити щось вручну у файлі конфігурації. Я дізнався, що ця стаття справді корисна. По-перше, потрібно перевірити, чи бібліотека 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 і все ..


1

Тож у мене була така ж проблема, як у вищевказаного хлопця, де мені потрібно було встановити 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.

Як я трохи новий термінал, я виявив це трохи заплутаним, але я запускаю Ubuntu 16.04 з php7, тому я просто побіг: apt-get install php7.0-xmlі це працювало для мене ... сподіваюся, що хтось допомагає!


0

Для того, щоб встановити Laravel 5.4на Ubuntu 16.04як в Laravel документації з перевіркою:

  1. Перевірте свою версію PHP в терміналі за допомогою:, php -vваша версія PHP повинна бутиPHP >= 5.6.4
  2. Зареєструйтесь у терміналі php -m для OpenSSL PHP Extensionта PDO PHP Extension.
  3. Terminal: sudo apt install php-mbstring і перевірте знову php -mдля Mbstring PHP Extensionі Tokenizer PHP Extension.

  4. Термінал: sudo apt install php-xmlі ще раз перевірити php -mнаXML PHP Extension

  5. Завантажте композитор за допомогою цих 4 кроків у терміналі:

    • php -r "копія (' https://getcomposer.org/installer ', 'composer-setup.php');"

    • PHP -r «, якщо (hash_file ( 'SHA384', 'композитор-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') {відлуння 'Монтажник перевірити';} ще {відлуння 'Монтажник корумповані'; Unlink (" композитор-установки. php ');} відлуння PHP_EOL; "

    • php композитор-setup.php

    • php -r "відключення ('composer-setup.php');"

  6. Перевірте композитора в терміналі: php composer.phar

  7. Встановіть Laravel в терміналі:

    php composer.phar global require "laravel/installer"
    На виході в терміналі буде показано поточний каталог /home/yourname/.config/composer , перейдіть до поточного каталогу та натисніть, ctrl+hщоб показати прихований файл.
    Перейдіть у .configпапку, а потім у composerпапку із таким вмістом: вміст папки композитора

  8. Створення Laravel project в /var/www/htmlтермінальному:

    php composer.phar create-project --prefer-dist laravel/laravel /var/www/html/myLaravel

  9. Відкрийте myLaravel у терміналі, потім вставте: php artisan serveта скопіюйте http://127.0.0.1:8000у своєму браузері

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.