Ubuntu 16.04에 laravel 5 설치


21

Ubuntu 16.04에 laravel 5를 설치 한 사람이 있습니까? 방금 Ubuntu 16.04로 전환했으며 composer를 사용하여 laravel 5 프레임 워크를 설치하려고합니다. 하지만 프로젝트를 만들 때마다이 오류가 발생합니다.

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.

나는 기사를 읽습니다. 그들 중 한 명은 우분투 16.04가 기본적으로 PHP7과 함께 제공되지만 여전히 PHP5를 사용할 수 있다고 말합니다. 그러나 PHP7과 PHP5를 모두 시도했지만 여전히 동일한 오류가 발생합니다! 어떤 아이디어? 감사

답변:


30

Ubuntu 16.04에서 Laravel을 설치하는 방법

업데이트 : Laravel 5.4

이 질문에 큰 관심을 가지고 있기 때문에 나는 그것을 업데이트하고 작은 bash 스크립트를 작성하여 Laravel 작업에 필요한 모든 것을 설치하기로 결정했습니다 (이것은 NGINX와 관련이 있습니다)

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

원하는대로 복사하고 편집 할 수 있습니다 ... 스크립트 안에 일부 구성 요소가 이미 설치되어있는 경우 필요하지 않은 부분을 자유롭게 삭제할 수 있습니다.


Laravel 5.2는 다음과 같습니다.

기본 물건 설치 (선택 사항)

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

램프

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

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

개조 사용

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

작곡가

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

phpmyadmin 설치

sudo apt-get install phpmyadmin     

나중에 localhost / phpmyadmin을 통해 액세스 할 수 있습니다

라 라벨 프로젝트 만들기

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!)

가상 호스트 작성 work.com

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

이 문서 안에 붙여 넣습니다


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

해당 사이트를 활성화

sudo a2ensite work.com
service apache2 reload

웹 브라우저를 통해 액세스 할 수 있도록 호스트 파일 수정

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

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

또는이 명령을 사용하십시오

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

라 라벨이 설치되었습니다!

나는 laravel으로 작업하는 데 필요한 모든 것을 가지고 YouTube에서 올바르게 만드는 방법에 대한 자습서를 만들었습니다. 링크는 다음과 같습니다. https://www.youtube.com/watch?v=A6TdaRIsG6g


예를 들어 작곡가를 sudo로 실행하고 싶지 않은 경우 어떻게해야합니까? 작곡가와 함께 sudo를 사용하지 말라는 경고가 있습니다.
m33bo

당신은 사용자로 디렉토리를하고는 sudo를 사용하지 않고 laravel 및 작곡가를 설치해야
lewis4u

단. 100+ 내 컴퓨터에서 작동
Semo

실례합니다, chmod 77 5는 충분하지 않습니까?
Semo

1
스토리지 및 부트 스트랩 폴더 필요가 777을 가지고
lewis4u

3

PHP 5.6.11을 5.6.21로 업그레이드했습니다.

그래서 내 경우에는 다음을 실행해야했습니다.

sudo apt-get install php5.6-mbstring

추신 : 다음과 같이 5.6.11에서 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

업그레이드 이유 : composer 업데이트 중에 zend_mm_heap가 손상 되었습니다.


3

새로 업그레이드 한 후 Ubuntu Server 16.04에 Laravel 5를 설치하기 위해 수행해야하는 단계는 다음과 같습니다.

먼저 Mohammad Barhoush가 말했듯이 모든 PHP를 완전히 제거해야했습니다.

  • sudo apt-get -y purge php.*

그런 다음 PHP를 다시 설치했습니다.

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

PHP ver.7.0을 다시 설치 한 후 Mohhammad가 권장하는 추가 관련 패키지를 설치했습니다.

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

그리고 모드를 활성화

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    그리고 마지막 으로이 작곡가는 여전히 지팡이가 없다고 불평하면서 여전히 composer update다음을 설치했습니다.

  • sudo apt-get install php7.0-zip

그 후 오류없이 정상적으로 실행되었습니다!

이것은 이전 LTS 버전의 Ubuntu Server에서 laravel 5 기능을 사용하는 데 필요한 단계입니다. 이것이 도움이 되었기를 바랍니다! 친애하는 :)

데릭


2

PHP mbstring 확장은 이제 별도의 패키지에 있으므로 다음을 수행해야합니다.

apt-get install php-mbstring

여전히 같은 오류 로그가 나타납니다
Mohammad Barhoush

그것은 나를 위해 일했다! Tx
Juliatzin del Toro

1

oerdnj의 솔루션이 작동하면 설치 후 실행하기 전에 mbstring활성화해야 php.ini합니다 composer install. 필자의 경우 laravel에는 ext-mbstring 및 ext-dom이 필요합니다.
apt-get install php-dom


그러나 그는 그것을 php.ini에 추가하는 방법을 말하지 않습니다 :(
Juliatzin del Toro

1

답변 해 주셔서 감사합니다 .. 마침내 다음을 수행하여이 문제를 해결할 수 있습니다.

  • 먼저 PHP를 완전히 제거하십시오.

    sudo apt-get -y purge php.*

  • PHP와이 중요한 관련 패키지들을 다시 설치하십시오 :

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

  • 모드 사용 (lewis4u 비디오 덕분에) :

    sudo phpenmod mcrypt

    sudo phpenmod mbstring


1

구성 파일에서 수동으로 무언가를해야합니다.이 기사 가 정말 도움 이 되었다는 것을 알았습니다 . 먼저 'phpinfo ()'함수를 사용하여 날씨 mbstring.dll 라이브러리가 시스템에 이미 설치되어 있는지 확인해야합니다. 활성화 된 경우 'extension = php_mbstring.dll'의 주석 처리를 제거하는 대신 php.ini 구성 파일에 주석을 달거나 설치하지 않은 경우 sudo apt-get install php-mbstring php7.0-mbstring

그런 다음 다음을 구성하십시오.

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

그게 다야. 라 라벨을 설치하고 설치하는 방법과 같은 나머지 부분을 알고 있다고 생각한다.


1

그래서 PHP-dom을 설치 해야하는 위의 남자와 같은 문제가 있었으므로 실행하려고했지만 apt-get install php-dom메시지가 나타났습니다.

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.

터미널에 약간 새로운 메신저로서 나는 이것이 약간 혼란 스럽지만 php7과 함께 Ubuntu 16.04를 실행 중이므로 방금 실행 apt-get install php7.0-xml했습니다.


0

Laravel 설명서와 같이 설치 Laravel 5.4하여 설치하려면 Ubuntu 16.04:

  1. 터미널에서 PHP 버전을 확인하십시오 : php -v, PHP 버전은PHP >= 5.6.4
  2. 와 터미널 체크인 php -mOpenSSL PHP ExtensionPDO PHP Extension.
  3. 터미널 : sudo apt install php-mbstring 에 의해 다시 확인 php -m을위한 Mbstring PHP ExtensionTokenizer PHP Extension.

  4. 터미널 : sudo apt install php-xml에 의해 다시 확인 php -m을위한XML PHP Extension

  5. 터미널에서 다음 4 단계로 Composer를 다운로드하십시오.

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

    • php -r "if (hash_file ( 'SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') {echo '설치 프로그램 설치 프로그램'; php ');} echo PHP_EOL; "

    • PHP 작곡가 -setup.php

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

  6. 터미널에서 작곡가를 확인하십시오. php composer.phar

  7. 터미널에 라 라벨을 설치하십시오 :

    php composer.phar global require "laravel/installer"
    터미널의 출력은 현재 디렉토리를에 표시하고 현재 디렉토리로 /home/yourname/.config/composer 이동 한 ctrl+h다음를 눌러 숨겨진 파일을 표시합니다. 다음 내용
    으로 .config폴더로 이동 composer한 다음 composer 폴더 내용으로 이동하십시오.

  8. 터미널 Laravel project 에서 작성하십시오 /var/www/html.

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

  9. 터미널에서 myLaravel을 열고 붙여 넣기 :를 브라우저에 php artisan serve복사 http://127.0.0.1:8000하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.