Instale o laravel 5 no Ubuntu 16.04

21

Alguém instalou o laravel 5 no Ubuntu 16.04? Acabei de mudar para o Ubuntu 16.04 e estou tentando instalar o framework laravel 5 nele usando o composer. Mas toda vez que tento criar um projeto me dá esses erros

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.

Eu li artigos Aqui um deles diz que O Ubuntu 16.04 vem com o PHP7 como padrão, mas ainda podemos usar o PHP5. No entanto eu tentei tanto PHP7 & amp; PHP5 e ainda obter os mesmos erros! Alguma ideia? Obrigado

    
por Mohammad Barhoush 29.04.2016 / 09:40

9 respostas

30

Como instalar o Laravel no Ubuntu 16.04

Atualização: Laravel 5.4

Devido ao grande interesse por essa questão, decidi atualizá-la e criar um pequeno script bash para instalar tudo o que você precisa para trabalhar com o Laravel (este é com o NGINX)

link

Você pode simplesmente copiá-lo e editá-lo como quiser ... talvez você já tenha alguns componentes instalados que estão dentro do script, em caso afirmativo, você pode excluir livremente as partes que você não precisa.

O Laravel 5.2 está abaixo:

instalação básica (opcional)

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

LÂMPADA

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

CURL

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

ativar mods

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

Compositor

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

instala o phpmyadmin

sudo apt-get install phpmyadmin     

depois acessível através de localhost / phpmyadmin

Criando o Projeto 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!)

Criando o host virtual work.com

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

e cole isso dentro desse 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>

ativar esse site

sudo a2ensite work.com
service apache2 reload

corrija o arquivo hosts para que você possa acessá-lo através do navegador da web

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

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

ou use este comando

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

É isso que o laravel está instalado!

Eu fiz um tutorial no youtube como fazer isso direito .... Com todas as coisas que você precisa para trabalhar com laravel. Aqui está o link: link

    
por lewis4u 05.05.2016 / 14:29
3

Eu atualizei o php 5.6.11 para o 5.6.21.

Então, no meu caso, tive que executar:

sudo apt-get install php5.6-mbstring

PS: Como atualizei de 5.6.11 para 5.6.21 seguindo:

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

Motivo da atualização: zend_mm_heap corrompido durante a atualização do compositor.

    
por anD 12.05.2016 / 10:43
3

Estes são os passos que eu tive que dar para instalar o Laravel 5 no Ubuntu Server 16.04 depois de uma nova atualização

Primeiro eu tive que remover completamente todo o PHP, assim como Mohammad Barhoush declarou:

  • sudo apt-get -y purge php.*

Então eu reinstalei o PHP com:

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

Depois de reinstalar o PHP ver.7.0, instalei os pacotes adicionais relacionados que o Mohhammad recomendou:

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

e ativou os mods

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    E finalmente, depois de todo esse compositor ainda estar sendo uma dor reclamando, ele não tinha a extensão zip para um composer update , então eu instalei o seguinte:

  • sudo apt-get install php7.0-zip

Depois disso, tudo correu bem sem erros!

Estas foram as etapas necessárias para que eu obtivesse o funcionamento de laravel 5 proveniente da versão anterior do LTS do Ubuntu Server. Espero que isso tenha ajudado! Atenciosamente:)

-Derick

    
por Derick Vigne 09.06.2016 / 20:58
2

A extensão PHP mbstring agora reside em um pacote separado, então você precisa fazer:

apt-get install php-mbstring
    
por oerdnj 29.04.2016 / 12:39
1
A solução do

oerdnj funciona, depois de instalar mbstring você deve ativá-lo em php.ini antes de executar composer install . No meu caso, o laravel requer ext-mbstring e ext-dom:
apt-get install php-dom

    
por spqa 02.05.2016 / 04:01
1

Então eu tive o mesmo problema que o cara acima, onde eu precisei instalar o php-dom, então eu tentei rodar o apt-get install php-dom , mas ele apenas criou a mensagem

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.

Como eu sou um pouco novo no terminal, achei isso um pouco confuso, mas estou executando o unbuntu 16.04 com php7, então eu corri: apt-get install php7.0-xml e isso funcionou para mim ... espero que ajude alguém!

    
por Matthew Jonat 05.05.2016 / 07:06
1

Obrigado a todos por suas respostas. Finalmente posso resolver esse problema fazendo:

  • Remover completamente o php primeiro:

    sudo apt-get -y purge php.*

  • Reinstale o php e esses importantes pacotes relacionados:

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

  • Ativar mods (graças ao vídeo lewis4u):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring

por Mohammad Barhoush 07.05.2016 / 09:50
1

Lá você precisa fazer algo manualmente no arquivo de configuração. Descobri que este artigo foi muito útil . Primeiro, precisa verificar biblioteca tempo mbstring.dll já está instalado no sistema usando a função 'phpinfo ()'. Se estiver habilitado, ao invés de descomentar 'extension = php_mbstring.dll' apenas mantenha-o comentado no arquivo de configuração do php.ini ou se ele não estiver instalado por   sudo apt-get install php-mbstring php7.0-mbstring

Em seguida, basta configurar o seguinte.

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

É isso aí .. Eu acho que você sabe o resto das coisas, como instalar o laravel e tudo mais.

    
por ARUN Madathil 15.08.2017 / 15:19
0

Para instalar Laravel 5.4 on Ubuntu 16.04 como na documentação do Laravel com check:

  1. Verifique sua versão do PHP no terminal: php -v , sua versão do php deve ser PHP >= 5.6.4
  2. Verifique no terminal com php -m para OpenSSL PHP Extension e PDO PHP Extension .
  3. Terminal: sudo apt install php-mbstring e verifique novamente por php -m para Mbstring PHP Extension e Tokenizer PHP Extension .

  4. Terminal: sudo apt install php-xml e verifique novamente por php -m para XML PHP Extension

  5. Faça o download do Composer por estas 4 etapas no terminal:

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

    • php -r "if (arquivo hash ('SHA384', 'compositer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') {echo 'Instalador verificado'; } else {echo 'Instalador corrompido'; unlink ('composer-setup.php'); } echo PHP_EOL; "

    • php composer-setup.php

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

  6. Verifique o compositor no terminal: php composer.phar

  7. Instale o Laravel no terminal:

    php composer.phar global require "laravel/installer"
    A saída no terminal mostrará seu diretório atual para /home/yourname/.config/composer , vá para o diretório atual e pressione ctrl+h para mostrar o arquivo oculto.
    Vá para a pasta .config e, em seguida, para a pasta composer com o seguinte conteúdo: conteúdo da pasta do compositor

  8. Crie Laravel project em /var/www/html no terminal:

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

  9. Abra o seu terminal myLaravel in e cole: php artisan serve e copie http://127.0.0.1:8000 no seu navegador

por Noha Salah El Tohamy 13.07.2017 / 14:01