Installa laravel 5 su Ubuntu 16.04

21

Qualcuno ha installato laravel 5 su Ubuntu 16.04? Sono appena passato a Ubuntu 16.04 e sto cercando di installare il framework laravel 5 su di esso usando il compositore. Ma ogni volta che provo a creare un progetto mi danno questo errore

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.

Ho letto gli articoli Qui uno di loro dice che Ubuntu 16.04 viene fornito con PHP7 come predefinito, ma possiamo ancora usare PHP5. Comunque ho provato sia PHP7 & amp; PHP5 e ancora ottengono gli stessi errori! Qualche idea? Grazie

    
posta Mohammad Barhoush 29.04.2016 - 09:40
fonte

9 risposte

30

Come installare Laravel in Ubuntu 16.04

Aggiornamento: Laravel 5.4

Dato il grande interesse per questa domanda ho deciso di aggiornarlo e creare un piccolo script bash per installare tutto ciò che è necessario per lavorare con Laravel (questo è con il NGINX)

link

Puoi semplicemente copiarlo e modificarlo come ti pare ... forse hai già installato alcuni componenti all'interno dello script, in tal caso puoi eliminare liberamente le parti che non ti servono.

Laravel 5.2 è in basso:

installazione di base (facoltativo)

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

LAMP

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

CURL

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

abilita mod

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

Musica

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

installa phpmyadmin

sudo apt-get install phpmyadmin     

successivamente accessibile tramite localhost / phpmyadmin

Creazione del progetto 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!)

Creazione di Virtual Host work.com

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

e incollalo all'interno di quel documento

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

abilita quel sito

sudo a2ensite work.com
service apache2 reload

corregge il file hosts in modo da poter accedervi tramite il browser web

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

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

o usa questo comando

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

Ecco laravel è installato!

Ho fatto un tutorial su youtube su come farlo bene .... Con tutte le cose che devi lavorare con laravel. Questo è il link: link

    
risposta data lewis4u 05.05.2016 - 14:29
fonte
3

Ho aggiornato PHP da 5.6.11 a 5.6.21.

Quindi, nel mio caso ho dovuto eseguire:

sudo apt-get install php5.6-mbstring

PS: come sono aggiornato dal 5.6.11 al 5.6.21 seguente:

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

Motivo dell'aggiornamento: zend_mm_heap danneggiato durante l'aggiornamento del compositore.

    
risposta data anD 12.05.2016 - 10:43
fonte
3

Questi sono i passi che ho dovuto fare per installare Laravel 5 su Ubuntu Server 16.04 dopo un nuovo aggiornamento

Per prima cosa ho dovuto rimuovere completamente tutto il PHP, così come ha dichiarato Mohammad Barhoush:

  • sudo apt-get -y purge php.*

Poi ho reinstallato PHP con:

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

Dopo aver reinstallato la versione 7.0 di PHP ho installato i pacchetti aggiuntivi aggiuntivi consigliati da Mohhammad:

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

E abilitato le mod

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    E infine, dopo tutto questo compositore era ancora doloroso lamentarsi che non aveva l'estensione zip per un composer update , quindi ho installato quanto segue:

  • sudo apt-get install php7.0-zip

Dopo che è andato tutto bene senza errori!

Questi sono stati i passi necessari per far funzionare laravel 5 dalla precedente versione LTS di Ubuntu Server. Spero che questo ha aiutato! Cordiali saluti:)

-Derick

    
risposta data Derick Vigne 09.06.2016 - 20:58
fonte
2

L'estensione mbstring di PHP ora risiede in un pacchetto separato, quindi devi fare:

apt-get install php-mbstring
    
risposta data oerdnj 29.04.2016 - 12:39
fonte
1

La soluzione di oerdnj funziona, dopo aver installato mbstring dovresti abilitarlo in php.ini prima di eseguire composer install . Nel mio caso laravel richiede ext-mbstring ed ext-dom:
apt-get install php-dom

    
risposta data spqa 02.05.2016 - 04:01
fonte
1

Quindi ho avuto lo stesso problema del ragazzo sopra il quale avevo bisogno di installare php-dom, quindi ho provato a eseguire apt-get install php-dom , ma è appena arrivato il messaggio

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.

Come un po 'nuovo al terminale ho trovato questo un po' di confusione, ma sto usando la versione 16.04 di unbuntu con php7, quindi ho appena eseguito: apt-get install php7.0-xml e questo ha funzionato per me ... spero che aiuti qualcuno!

    
risposta data Matthew Jonat 05.05.2016 - 07:06
fonte
1

Grazie a tutti per le vostre risposte .. Sono finalmente in grado di risolvere questo problema facendo:

  • Prima rimuovi completamente php:

    sudo apt-get -y purge php.*

  • Reinstallare php e questi importanti pacchetti correlati:

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

  • Abilita mod (grazie al video di lewis4u):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring

risposta data Mohammad Barhoush 07.05.2016 - 09:50
fonte
1

C'è bisogno di fare qualcosa manualmente nel file di configurazione .. Ho scoperto che questo articolo è stato davvero utile . Innanzitutto, è necessario controllare la libreria meteo mbstring.dll già installata nel sistema utilizzando la funzione 'phpinfo ()'. Se è abilitato, invece di decommentare 'extension = php_mbstring.dll' basta tenerlo commentato nel file di configurazione php.ini o se non è lì installarlo da  % Co_de%

Quindi configura solo quanto segue.

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

Questo è tutto .. Penso che tu sappia il resto delle cose come installare laravel e tutto ..

    
risposta data ARUN Madathil 15.08.2017 - 15:19
fonte
0

Per installare Laravel 5.4 su Ubuntu 16.04 come nella documentazione di Laravel con controllo:

  1. Controlla la tua versione di PHP nel terminale di: php -v , la tua versione php deve essere PHP >= 5.6.4
  2. Controlla il terminale con php -m per OpenSSL PHP Extension e PDO PHP Extension .
  3. Terminale: sudo apt install php-mbstring e controlla di nuovo php -m per Mbstring PHP Extension e Tokenizer PHP Extension .

  4. Terminale: sudo apt install php-xml e ricontrolla di php -m per XML PHP Extension

  5. Scarica Composer da questi 4 passaggi nel terminale:

    • php -r "copy (' link ', 'Compositore setup.php'); "

    • php -r "if (hash_file ('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') {echo 'Installatore verificato'; } else {echo 'Installer corrupt'; unlink ( 'compositore setup.php'); } echo PHP_EOL; "

    • php composer-setup.php

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

  6. Controlla il compositore nel terminale: php composer.phar

  7. Installa Laravel nel terminale:

    php composer.phar global require "laravel/installer"
    L'output nel terminale mostrerà la tua directory corrente a /home/yourname/.config/composer , vai alla tua directory corrente e premi ctrl+h per mostrare il file nascosto.
    Vai alla cartella .config quindi alla cartella composer con i seguenti contenuti: contenuto della cartella del compositore

  8. Crea Laravel project in /var/www/html nel terminale:

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

  9. Apri myLavalavel nel terminale, quindi incolla: php artisan serve e copia http://127.0.0.1:8000 nel browser

risposta data Noha Salah El Tohamy 13.07.2017 - 14:01
fonte

Leggi altre domande sui tag