web-dev-qa-db-fra.com

Installez laravel 5 sur Ubuntu 16.04

Quelqu'un a installé laravel 5 sur Ubuntu 16.04? Je viens de passer à Ubuntu 16.04 et j'essaie d'installer le framework laravel 5 à l'aide de composer. Mais chaque fois que j'essaie de créer un projet, cela me donne ces 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 disons qu'Ubuntu 16.04 est livré avec PHP7 par défaut mais nous pouvons toujours utiliser PHP5. Cependant, j'ai essayé à la fois PHP7 et PHP5 et j'obtiens toujours les mêmes erreurs! Des idées? Merci

21
Mohammad Barhoush

Comment installer Laravel dans Ubuntu 16.04

Mise à jour: Laravel 5.4

En raison du grand intérêt que suscite cette question, j'ai décidé de la 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 associé au NGINX)

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

Vous pouvez simplement le copier et le modifier à votre guise ... vous avez peut-être déjà installé certains composants à l'intérieur du script. Si c'est le cas, vous pouvez supprimer librement les éléments inutiles.


Laravel 5.2 est en bas:

installation de base (optionnel)

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

activer les mods

Sudo phpenmod mcrypt
Sudo phpenmod mbstring
Sudo a2enmod rewrite
Sudo systemctl restart Apache2

Composer

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'un hôte virtuel work.com

Sudo gedit /etc/Apache2/sites-available/work.com.conf

et coller ceci à l'intérieur de 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

réparer le fichier hosts afin que vous puissiez y accéder via le 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"

C'est ça laravel est installé!

J'ai créé un didacticiel sur youtube sur la façon de bien faire les choses .... Avec tout ce dont vous avez besoin pour travailler avec Laravel. Voici le lien: https://www.youtube.com/watch?v=A6TdaRIsG6g

30
lewis4u

Voici les étapes à suivre pour installer Laravel 5 sur Ubuntu Server 16.04 après une nouvelle mise à niveau

Tout d'abord, je devais supprimer complètement tout le code PHP. Ainsi, Mohammad Barhoush a déclaré:

  • 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 paquetages connexes supplémentaires recommandés par Mohhammad:

  • 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, composer était toujours pénible, se plaignant de ne pas disposer de 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!

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

-Derick

3
Derick Vigne

J'avais mis à jour PHP 5.6.11 à 5.6.21.

Donc, dans mon cas, je devais courir:

Sudo apt-get install php5.6-mbstring

PS: Comment je suis passé de 5.6.11 à 5.6.21 comme suit:

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 est corromp pendant la mise à jour composer.

3
anD

L'extension PHP mbstring réside maintenant dans un paquet séparé, vous devez donc procéder comme suit:

apt-get install php-mbstring
2
oerdnj

Là vous avez besoin de faire quelque chose manuellement dans le fichier de configuration .. J'ai découvert ceci article était vraiment utile. Tout d'abord, vous devez vérifier si la bibliothèque météo mbstring.dll est déjà installée dans le système à l'aide de la fonction 'phpinfo ()'. S'il est activé, au lieu de ne pas commenter 'extension = php_mbstring.dll', conservez-le simplement commenté dans le fichier de configuration php.ini ou, si ce n'est pas le cas, installez-le avec 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

C'est ça .. Je pense que vous connaissez le reste des choses comme installer laravel et tout ..

1
ARUN Madathil

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

  • Supprimer complètement php en premier:

    Sudo apt-get -y purge php.*

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

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

  • Activer les mods (Merci à la vidéo lewis4u):

    Sudo phpenmod mcrypt

    Sudo phpenmod mbstring

1

Donc, j'ai eu le même problème que le gars ci-dessus où je devais installer php-dom, alors j'ai essayé de lancer apt-get install php-dom, mais le message est venu.

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 je suis en cours d’exécution non-scrupuleuse 16.04 avec php7, j’ai donc lancé: apt-get install php7.0-xml et cela a fonctionné pour moi ... espérons que cela aide quelqu'un!

1
Matthew Jonat

la solution de oerdnj fonctionne. Après avoir installé mbstring, vous devez l’activer dans php.ini avant de lancer composer install. Dans mon cas, laravel requiert ext-mbstring et ext-dom:
apt-get install php-dom

1
spqa

Pour installer Laravel 5.4 sur Ubuntu 16.04 comme dans la documentation Laravel avec check:

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

  4. Terminal: Sudo apt install php-xml et vérifiez à nouveau par php -m pour XML PHP Extension

  5. Téléchargez Composer par 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') === ' php ');} echo PHP_EOL; "

    • php composer-setup.php

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

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

  7. Installez Laravel dans le terminal:

    php composer.phar global require "laravel/installer"
    La sortie du terminal indiquera votre répertoire actuel à /home/yourname/.config/composer, accédez à votre répertoire actuel et appuyez sur ctrl+h pour afficher le fichier caché.
    Allez dans le dossier .config puis dans le dossier composer avec le contenu suivant: contenu du dossier composer

  8. Créez Laravel project dans /var/www/html dans le terminal:

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

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

0
Noha Salah