Installieren Sie laravel 5 unter Ubuntu 16.04

21

Hat jemand laravel 5 auf Ubuntu 16.04 installiert? Ich habe gerade zu Ubuntu 16.04 gewechselt und ich versuche, Laravel 5 Framework mit Composer darauf zu installieren. Aber jedes Mal, wenn ich versuche, ein Projekt zu erstellen, habe ich diese Fehler

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.

Ich lese Artikel Hier sagt einer von ihnen , dass Ubuntu 16.04 standardmäßig mit PHP7 geliefert wird, aber wir können immer noch PHP5 verwenden. Allerdings habe ich sowohl PHP7 als auch PHP5 ausprobiert und trotzdem die gleichen Fehler erhalten! Irgendwelche Ideen? Vielen Dank

Mohammad Barhoush
quelle

Antworten:

30

Wie installiere ich Laravel in Ubuntu 16.04

Update: Laravel 5.4

Aufgrund des großen Interesses an dieser Frage habe ich beschlossen, sie zu aktualisieren und ein kleines Bash-Skript zu erstellen, um alles zu installieren, was Sie für die Arbeit mit Laravel benötigen (dieses ist mit dem NGINX).

https://github.com/emilas44/laravel-5.4-on-Ubuntu/blob/master/script.sh

Sie können es einfach kopieren und nach Belieben bearbeiten. Möglicherweise sind bereits einige Komponenten im Skript installiert. In diesem Fall können Sie die Teile, die Sie nicht benötigen, frei löschen.


Laravel 5.2 ist unten:

grundlegende Sachen installieren (optional)

sudo apt-get install git
sudo apt-get install zip

LAMPE

sudo apt-get install tasksel
sudo tasksel install lamp-server

CURL

sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext

Mods aktivieren

sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite
sudo systemctl restart apache2

Komponist

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Installieren Sie phpmyadmin

sudo apt-get install phpmyadmin     

später erreichbar über localhost / phpmyadmin

Laravel-Projekt erstellen

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

Erstellen eines virtuellen Hosts work.com

sudo gedit /etc/apache2/sites-available/work.com.conf

und fügen Sie dies in das Dokument ein


#/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>

aktiviere diese Seite

sudo a2ensite work.com
service apache2 reload

Korrigieren Sie die Hosts-Datei, damit Sie über den Webbrowser darauf zugreifen können

sudo gedit /etc/hosts //space between gedit and destination!

        #/etc/hosts contents following lines                                
        127.0.0.1       work.com

oder benutze diesen Befehl

sudo -- sh -c "echo '\n127.0.0.1 \twork.com'>> /etc/hosts"

Das war's Laravel ist installiert!

Ich habe auf youtube ein Tutorial gemacht, wie man es richtig macht ... Mit all den Dingen, die man braucht, um mit Laravel zu arbeiten. Hier ist der Link: https://www.youtube.com/watch?v=A6TdaRIsG6g

lewis4u
quelle
Was könnte ich tun, wenn ich zum Beispiel Composer nicht als Sudo ausführen möchte? Es gibt eine Warnung, die besagt, dass sudo nicht mit composer verwendet werden darf.
m33bo
Sie müssen als Benutzer ein Verzeichnis erstellen und laravel und composer installieren, ohne sudo
lewis4u
Süss. 100+ Works on my machine
Semo
Entschuldigung, ist chmod 77 5 nicht genug?
Semo
1
Speicher und Bootstrap-Ordner müssen 777 haben
Lewis4u
3

Ich hatte PHP 5.6.11 auf 5.6.21 aktualisiert.

Also musste ich in meinem Fall laufen:

sudo apt-get install php5.6-mbstring

PS: Wie ich ein Upgrade von 5.6.11 auf 5.6.21 durchführte:

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php 
sudo apt-get update 
sudo apt-get install php5.6

Grund für das Upgrade: zend_mm_heap ist während des Composer-Updates beschädigt .

und
quelle
3

Dies sind die Schritte, die ich ausführen musste, um Laravel 5 nach einem neuen Upgrade auf Ubuntu Server 16.04 zu installieren

Zuerst musste ich PHP komplett entfernen, wie Mohammad Barhoush feststellte:

  • sudo apt-get -y purge php.*

Dann habe ich PHP neu installiert mit:

  • sudo apt install php libapache2-mod-php
  • sudo apt install php-cli
  • sudo apt install php-mysql

Nach der Neuinstallation von PHP 7.0 habe ich die zusätzlichen, von Mohhammad empfohlenen Pakete installiert:

  • sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext php-gd

Und aktiviert die Mods

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    Und schließlich, nachdem sich dieser Komponist immer noch beschwert hatte, hatte er nicht die Zip-Erweiterung für eine, composer updatealso habe ich Folgendes installiert:

  • sudo apt-get install php7.0-zip

Danach lief es einwandfrei ohne Fehler!

Dies waren die Schritte, die erforderlich waren, damit laravel 5 mit der vorherigen LTS-Version von Ubuntu Server funktioniert. Hoffe das hat geholfen! Freundliche Grüße :)

-Derick

Derick Vigne
quelle
2

Die PHP-Erweiterung mbstring befindet sich jetzt in einem separaten Paket. Sie müssen also Folgendes tun:

apt-get install php-mbstring
oerdnj
quelle
Immer noch das gleiche Fehlerprotokoll
Mohammad Barhoush
es hat bei mir funktioniert! Tx
Juliatzin del Toro
1

oerdnjs Lösung funktioniert, nach der Installation mbstringsollten Sie es aktivieren, php.inibevor Sie es ausführen composer install. In meinem Fall benötigt laravel ext-mbstring und ext-dom:
apt-get install php-dom

spqa
quelle
aber er sagt nicht, wie man es zu php.ini hinzufügt :(
Juliatzin del Toro
1

Ich danke Ihnen allen für Ihre Antworten. Ich bin endlich in der Lage, dieses Problem zu lösen, indem ich Folgendes tue:

  • Entfernen Sie PHP zuerst vollständig:

    sudo apt-get -y purge php.*

  • Installieren Sie PHP und die folgenden wichtigen zugehörigen Pakete neu:

    sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext

  • Mods aktivieren (Danke an lewis4u video):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring

Mohammad Barhoush
quelle
1

Dort musst du etwas manuell in der Konfigurationsdatei machen. Ich fand heraus, dass dieser Artikel wirklich hilfreich war. Zuerst muss überprüft werden, ob die mbstring.dll-Bibliothek mit der Funktion 'phpinfo ()' bereits im System installiert ist. Wenn es aktiviert ist, anstatt 'extension = php_mbstring.dll' zu dekommentieren, lassen Sie es einfach in der Konfigurationsdatei php.ini kommentieren oder falls es nicht vorhanden ist, installieren Sie es mit sudo apt-get install php-mbstring php7.0-mbstring

Dann konfigurieren Sie einfach Folgendes.

; mbstring.language = All
;mbstring.internal_encoding = UTF-8
;mbstring.http_output = UTF-8
;mbstring.encoding_translation = On
;mbstring.func_overload = 0

Das wars .. Ich glaube du kennst den Rest der Dinge wie Laravel zu installieren und alles ..

ARUN Madathil
quelle
1

Also hatte ich das gleiche Problem wie der obige Typ, bei dem ich php-dom installieren musste, also habe ich versucht, es auszuführen, apt-get install php-domaber es kam gerade mit der Nachricht

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.

Als ich ein bisschen neu im Terminal war, fand ich das etwas verwirrend, aber ich starte Ubuntu 16.04 mit PHP7, also lief ich einfach: apt-get install php7.0-xmlund das hat bei mir funktioniert ... hoffe, das hilft jemandem!

Matthew Jonat
quelle
0

So installieren Sie Laravel 5.4auf , Ubuntu 16.04wie in Laravel Dokumentation mit Check:

  1. Überprüfen Sie Ihre PHP-Version im Terminal durch php -v:, Ihre PHP-Version muss seinPHP >= 5.6.4
  2. Check - in - Terminal mit php -m für OpenSSL PHP Extensionund PDO PHP Extension.
  3. Terminal: sudo apt install php-mbstring und wieder überprüfen , indem Sie php -mfür Mbstring PHP Extensionund Tokenizer PHP Extension.

  4. Terminal: sudo apt install php-xmlund nochmal nachsehen bis php -mzumXML PHP Extension

  5. Laden Sie Composer in den folgenden 4 Schritten im Terminal herunter:

    • php -r "copy (' https://getcomposer.org/installer ', 'composer-setup.php');"

    • php -r "if (hash_file ('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1e1e1). php ');} echo PHP_EOL; "

    • php composer-setup.php

    • php -r "Verknüpfung aufheben ('composer-setup.php');"

  6. Überprüfen Sie den Komponisten im Terminal: php composer.phar

  7. Installieren Sie Laravel im Terminal:

    php composer.phar global require "laravel/installer"
    Die Ausgabe im Terminal zeigt Ihr aktuelles Verzeichnis an /home/yourname/.config/composer , gehen Sie zu Ihrem aktuellen Verzeichnis und drücken Sie ctrl+h, um die versteckte Datei anzuzeigen.
    Gehen Sie zu .configOrdner und dann zu composerOrdner mit folgendem Inhalt: Inhalt des Composer-Ordners

  8. Erstellen Sie Laravel project in /var/www/htmlim Terminal:

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

  9. Öffne dein myLaravel im Terminal, füge ein: php artisan serveund kopiere es http://127.0.0.1:8000in deinen Browser

Noha Salah
quelle