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 provando a installare il framework laravel 5 su di esso usando il compositore. Ma ogni volta che provo a creare un progetto mi dà 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 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 che PHP5 e ho ancora gli stessi errori! Qualche idea? Grazie

Risposte:


30

Come installare Laravel in Ubuntu 16.04

Aggiornamento: Laravel 5.4

A causa del grande interesse per questa domanda, ho deciso di aggiornarlo e creare un piccolo script bash per installare tutto il necessario per lavorare con Laravel (questo è con NGINX)

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

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


Laravel 5.2 è in basso:

installazione roba base (opzionale)

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

LAMPADA

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

ARRICCIARE

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

abilita le mod

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

Compositore

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>

abilitare quel sito

sudo a2ensite work.com
service apache2 reload

correggere il file hosts in modo che sia possibile 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 qua è installato laravel!

Ho fatto un tutorial su YouTube su come farlo nel modo giusto .... Con tutte le cose che devi lavorare con laravel. Ecco il link: https://www.youtube.com/watch?v=A6TdaRIsG6g


Se per esempio non volessi eseguire il compositore come sudo, cosa potrei fare? c'è un avvertimento che dice di non usare sudo con il compositore.
m33bo,

devi creare una directory come utente e installare laravel e compositore senza usare sudo
lewis4u

dolce. 100+ opere sulla mia macchina
Semo

Mi scusi, non è chmod 77 5 abbastanza?
Semo

1
la cartella di archiviazione e bootstrap deve contenere 777
lewis4u,

3

Ho aggiornato php da 5.6.11 a 5.6.21.

Quindi, nel mio caso ho dovuto correre:

sudo apt-get install php5.6-mbstring

PS: come ho effettuato l'aggiornamento dalla 5.6.11 alla 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.


3

Questi sono i passaggi che ho dovuto prendere 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.*

Quindi ho reinstallato PHP con:

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

Dopo aver reinstallato PHP versione 7.0 ho installato i pacchetti correlati aggiuntivi che Mohhammad ha raccomandato:

  • 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 finalmente dopo tutto questo compositore era ancora un dolore lamentarsi che non aveva l'estensione zip per un composer updatecosì ho installato il seguente:

  • sudo apt-get install php7.0-zip

Dopo di che ha funzionato bene senza errori!

Questi erano i passaggi necessari per far funzionare laravel 5 proveniente dalla precedente versione LTS di Ubuntu Server. Spero che questo abbia aiutato! I migliori saluti :)

-Derick



1

La soluzione di oerdnj funziona, dopo l'installazione mbstringè necessario abilitarla php.iniprima di eseguirla composer install. Nel mio caso laravel richiede ext-mbstring ed ext-dom:
apt-get install php-dom


ma non sta dicendo come aggiungerlo a php.ini :(
Juliatzin del Toro

1

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

  • Rimuovi completamente php prima:

    sudo apt-get -y purge php.*

  • Reinstalla php e questi importanti pacchetti correlati:

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

  • Abilita mod (grazie al video lewis4u):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring


1

Lì devi fare qualcosa manualmente nel file di configurazione .. Ho scoperto che questo articolo è stato davvero utile. Innanzitutto, è necessario verificare che la libreria mbstring.dll meteo sia 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 è installato installarlo da sudo apt-get install php-mbstring php7.0-mbstring

Quindi configura 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 tutti ..


1

Quindi ho avuto lo stesso problema del ragazzo di cui sopra dove avevo bisogno di installare php-dom, quindi ho cercato di eseguire apt-get install php-domma il messaggio mi è venuto in mente

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.

Dato che sono un po 'nuovo sul terminale, l'ho trovato un po' confuso, ma sto eseguendo Ubuntu 16.04 con php7, quindi ho appena eseguito: apt-get install php7.0-xmle ha funzionato per me ... spero che aiuti qualcuno!


0

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

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

  4. Terminale: sudo apt install php-xmle ricontrollare php -mperXML PHP Extension

  5. Scarica Composer con questi 4 passaggi nel terminale:

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

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

    • php compositore-setup.php

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

  6. Controlla compositore nel terminale: php composer.phar

  7. Installa Laravel nel terminale:

    php composer.phar global require "laravel/installer"
    L'output nel terminale mostrerà la directory corrente in /home/yourname/.config/composer , vai alla directory corrente e premi ctrl+hper mostrare il file nascosto.
    Vai alla .configcartella quindi composercartella con il seguente contenuto: contenuto della cartella del compositore

  8. Creare Laravel project in /var/www/htmlnel terminale:

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

  9. Apri myLaravel nel terminale, quindi incolla: php artisan servee copia http://127.0.0.1:8000nel browser

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.