Installer laravel 5 sur Ubuntu 16.04

21

Quelqu'un a-t-il installé laravel 5 sur Ubuntu 16.04? Je viens de passer à Ubuntu 16.04 et j'essaie d'installer le framework laravel 5 dessus à l'aide de composer. Mais chaque fois que j'essaie de créer un projet, cela me donne des erreurs

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.

J'ai lu des articles Ici, l'un d'eux dit que Ubuntu 16.04 est livré avec PHP7 par défaut, mais nous pouvons toujours utiliser PHP5. Cependant, j'ai essayé PHP7 et PHP5 et j'obtiens toujours les mêmes erreurs! Des idées? Merci

Mohammad Barhoush
la source

Réponses:

30

Comment installer Laravel dans Ubuntu 16.04

Mise à jour: Laravel 5.4

En raison du grand intérêt pour cette question, j'ai décidé de le mettre à jour et de créer un petit script bash pour installer tout ce dont vous avez besoin pour travailler avec Laravel (celui-ci est avec le NGINX)

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

Vous pouvez simplement le copier et le modifier à votre guise ... peut-être avez-vous déjà installé des composants qui sont à l'intérieur du script, si oui, vous pouvez supprimer librement les parties dont vous n'avez pas besoin.


Laravel 5.2 est en dessous:

installation de trucs de base (facultatif)

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

LAMPE

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

BOUCLE

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

activer les mods

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

Compositeur

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

installer phpmyadmin

sudo apt-get install phpmyadmin     

plus tard accessible via localhost / phpmyadmin

Création du projet 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!)

Création d'hôte virtuel work.com

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

et collez-le dans ce document


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

activer ce site

sudo a2ensite work.com
service apache2 reload

correction du fichier hôtes pour que vous puissiez y accéder via un navigateur Web

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

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

ou utilisez cette commande

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

Voilà, laravel est installé!

J'ai fait un tutoriel sur youtube comment faire les choses correctement .... Avec toutes les choses dont vous avez besoin pour travailler avec laravel. Voici le lien: https://www.youtube.com/watch?v=A6TdaRIsG6g

lewis4u
la source
Si, par exemple, je ne voulais pas exécuter composer en tant que sudo, que pouvais-je faire? il y a un avertissement disant de ne pas utiliser sudo avec composer.
m33bo
vous devez créer un répertoire en tant qu'utilisateur et installer laravel et composer sans utiliser sudo
lewis4u
doux. 100+ Fonctionne sur ma machine
Semo
Excusez-moi, chmod 77 5 ne suffit-il pas?
Semo
1
le dossier de stockage et de démarrage doit avoir 777
lewis4u
3

J'avais mis à jour php 5.6.11 vers 5.6.21.

Donc, dans mon cas, j'ai dû courir:

sudo apt-get install php5.6-mbstring

PS: comment j'ai mis à jour la version 5.6.11 vers la version 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

Raison de la mise à niveau: zend_mm_heap corrompu lors de la mise à jour du composeur.

et
la source
3

Ce sont les étapes que j'ai dû prendre pour installer Laravel 5 sur Ubuntu Server 16.04 après une nouvelle mise à niveau

J'ai d'abord dû supprimer complètement tout PHP, donc comme l'a déclaré Mohammad Barhoush:

  • sudo apt-get -y purge php.*

Ensuite, j'ai réinstallé PHP avec:

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

Après avoir réinstallé PHP ver.7.0, j'ai installé les packages connexes supplémentaires que Mohhammad a recommandés:

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

Et activé les mods

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    Et finalement, après tout, ce compositeur était toujours en train de se plaindre qu'il n'avait pas l'extension zip pour un composer update, j'ai donc installé ce qui suit:

  • sudo apt-get install php7.0-zip

Après cela, tout s'est bien passé sans erreur!

Ce sont les étapes nécessaires pour que Laravel 5 fonctionne à partir de la précédente version LTS d'Ubuntu Server. J'espère que cela vous a aidé! Meilleures salutations :)

-Derick

Derick Vigne
la source
2

L'extension PHP mbstring réside maintenant dans un package séparé, vous devez donc faire:

apt-get install php-mbstring
oerdnj
la source
Toujours le même journal des erreurs
Mohammad Barhoush
ça a marché pour moi! Tx
Juliatzin del Toro
1

La solution de oerdnj fonctionne, après l'installation, mbstringvous devez l'activer php.iniavant de l'exécuter composer install. Dans mon cas, laravel nécessite ext-mbstring et ext-dom:
apt-get install php-dom

spqa
la source
mais il ne dit pas comment l'ajouter à php.ini :(
Juliatzin del Toro
1

Merci à tous pour vos réponses. Je suis enfin en mesure de résoudre ce problème en faisant:

  • Supprimer complètement php d'abord:

    sudo apt-get -y purge php.*

  • Réinstallez php et ces importants packages associés:

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

  • Activer les mods (grâce à la vidéo lewis4u):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring

Mohammad Barhoush
la source
1

Là, vous devez faire quelque chose manuellement dans le fichier de configuration .. J'ai découvert que cet article était vraiment utile. Tout d'abord, vous devez vérifier que la bibliothèque météo mbstring.dll est déjà installée dans le système à l'aide de la fonction 'phpinfo ()'. Si son activé, au lieu de décommenter 'extension = php_mbstring.dll', il suffit de le laisser commenté dans le fichier de configuration php.ini ou s'il n'est pas là, installez-le par sudo apt-get install php-mbstring php7.0-mbstring

Ensuite, configurez simplement ce qui suit.

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

Ça y est .. Je pense que vous savez le reste des choses comme comment installer laravel et tout ..

ARUN Madathil
la source
1

J'ai donc eu le même problème que le gars ci-dessus, où j'avais besoin d'installer php-dom, j'ai donc essayé de lancer, apt-get install php-dommais le message est venu avec le message

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.

Comme je suis un peu nouveau sur le terminal, j'ai trouvé cela un peu déroutant, mais j'utilise Ubuntu 16.04 avec php7, donc je viens de courir: apt-get install php7.0-xmlet cela a fonctionné pour moi ... j'espère que cela aide quelqu'un!

Matthew Jonat
la source
0

Pour installer Laravel 5.4sur Ubuntu 16.04comme dans la documentation Laravel avec chèque:

  1. Vérifiez votre version PHP dans le terminal par php -v:, votre version php doit êtrePHP >= 5.6.4
  2. Enregistrez le terminal avec php -m pour OpenSSL PHP Extensionet PDO PHP Extension.
  3. Terminal: sudo apt install php-mbstring et vérifiez à nouveau par php -mpour Mbstring PHP Extensionet Tokenizer PHP Extension.

  4. Terminal: sudo apt install php-xmlet vérifiez à nouveau php -mpourXML PHP Extension

  5. Téléchargez Composer en suivant ces 4 étapes dans le terminal:

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

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

    • php composer-setup.php

    • php -r "unlink ('composer-setup.php');"

  6. Vérifiez le compositeur dans le terminal: php composer.phar

  7. Installez Laravel dans le terminal:

    php composer.phar global require "laravel/installer"
    La sortie dans le terminal affichera votre répertoire actuel /home/yourname/.config/composer , allez dans votre répertoire actuel et appuyez ctrl+hpour afficher le fichier caché.
    Accédez au .configdossier puis au composerdossier avec le contenu suivant: contenu du dossier du compositeur

  8. Créer Laravel project dans /var/www/htmldans le terminal:

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

  9. Ouvrez votre myLaravel dans le terminal puis collez: php artisan serveet copiez http://127.0.0.1:8000dans votre navigateur

Noha Salah
la source