ติดตั้ง laravel 5 บน Ubuntu 16.04


21

มีใครติดตั้ง laravel 5 บน Ubuntu 16.04 ไหม ฉันเพิ่งเปลี่ยนมาใช้ Ubuntu 16.04 และฉันพยายามติดตั้ง laravel 5 framework โดยใช้ผู้แต่ง แต่ทุกครั้งที่ฉันพยายามสร้างโครงการมันทำให้ฉันมีข้อผิดพลาดนี้

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.

ฉันอ่านบทความที่นี่หนึ่งในนั้นบอกว่า Ubuntu 16.04 มาพร้อมกับ PHP7 เป็นค่าเริ่มต้น แต่เรายังสามารถใช้ PHP5 ได้ อย่างไรก็ตามฉันลองทั้ง PHP7 และ PHP5 และยังได้รับข้อผิดพลาดเดิม ความคิดใด ๆ ขอบคุณ

คำตอบ:


30

วิธีการติดตั้ง Laravel ใน Ubuntu 16.04

อัพเดท: Laravel 5.4

เนื่องจากความสนใจอย่างมากสำหรับคำถามนี้ฉันตัดสินใจที่จะอัปเดตและสร้างสคริปต์ทุบตีขนาดเล็กเพื่อติดตั้งทุกสิ่งที่คุณต้องการใช้กับ 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

CURL

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

เปิดใช้งาน mods

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

การสร้างโครงการ 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!)

การสร้างโฮสต์เสมือน 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 วิธีการทำให้ถูกต้อง .... กับทุกสิ่งที่คุณต้องทำงานกับ laravel นี่คือลิงค์: https://www.youtube.com/watch?v=A6TdaRIsG6g


หากตัวอย่างฉันไม่ต้องการเรียกใช้ผู้แต่งเป็น sudo ฉันควรทำอย่างไร มีคำเตือนว่าอย่าใช้ sudo กับผู้แต่ง
m33bo

คุณต้องสร้างไดเรกทอรีเป็นผู้ใช้และติดตั้ง laravel และผู้แต่งโดยไม่ต้องใช้ sudo
lewis4u

หวาน. 100+ ผลงานในเครื่องของฉัน
Semo

ขอโทษนะ chmod 77 5ไม่พอเหรอ?
Semo

1
โฟลเดอร์ storage และ bootstrap ต้องมี 777
lewis4u

3

ฉันอัพเกรด php 5.6.11 เป็น 5.6.21

ดังนั้นในกรณีของฉันฉันต้องทำงาน:

sudo apt-get install php5.6-mbstring

PS: ฉันอัพเกรดจาก 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

เหตุผลในการอัปเกรด: zend_mm_heap เสียหายระหว่างการอัปเดตผู้แต่ง


3

เหล่านี้เป็นขั้นตอนที่ฉันต้องทำเพื่อติดตั้ง Laravel 5 บน Ubuntu Server 16.04 หลังจากอัปเกรดใหม่

ก่อนอื่นฉันต้องลบ PHP ทั้งหมดอย่างสมบูรณ์ดังนั้น Mohammad Barhoush กล่าวไว้:

  • 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

และเปิดใช้งาน mods

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    และในที่สุดหลังจากผู้แต่งคนนี้ยังคงมีอาการปวดบ่นอยู่มันไม่มีส่วนขยายของซิปสำหรับcomposer updateดังนั้นฉันจึงติดตั้งสิ่งต่อไปนี้:

  • sudo apt-get install php7.0-zip

หลังจากนั้นมันก็ทำงานได้ดีโดยไม่มีข้อผิดพลาด!

สิ่งเหล่านี้เป็นขั้นตอนที่จำเป็นสำหรับฉันในการทำให้ laravel 5 ทำงานได้จากเซิร์ฟเวอร์ Ubuntu รุ่น LTS รุ่นก่อนหน้า หวังว่านี่จะช่วยได้! ด้วยความเคารพ :)

-Derick


2

PHP mbstring extension ในตอนนี้อยู่ในแพ็คเกจอื่นดังนั้นคุณต้องทำดังนี้

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

  • เปิดใช้งาน mods (ด้วยวิดีโอ lewis4u):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring


1

คุณต้องทำอะไรด้วยตนเองในไฟล์กำหนดค่า .. ฉันพบว่าบทความนี้มีประโยชน์จริงๆ ก่อนอื่นต้องตรวจสอบไลบรารี่ mbstring.dll ของสภาพอากาศที่ติดตั้งไว้แล้วในระบบโดยใช้ฟังก์ชั่น 'phpinfo ()' หากเปิดใช้งานแทนการไม่แสดงความคิดเห็น 'extension = php_mbstring.dll' เพียงแค่แสดงความคิดเห็นไว้ในไฟล์ config ของ 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

แค่นั้นแหละ .. ฉันคิดว่าคุณรู้สิ่งที่เหลือเช่นวิธีการติดตั้ง laravel และทั้งหมด ..


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.

ในฐานะที่ฉันค่อนข้างใหม่กับเทอร์มินัลฉันพบว่ามันสับสนเล็กน้อย แต่ฉันใช้ Ubuntu 16.04 กับ php7 ดังนั้นฉันจึงวิ่ง: apt-get install php7.0-xmlและนั่นก็ใช้ได้สำหรับฉัน ... หวังว่าจะช่วยใครซักคน!


0

การติดตั้งLaravel 5.4ในUbuntu 16.04ขณะที่อยู่ในเอกสาร Laravel กับการตรวจสอบ:

  1. ตรวจสอบเวอร์ชั่น PHP ของคุณใน terminal โดย: php -vเวอร์ชัน php ของคุณต้องเป็นPHP >= 5.6.4
  2. ตรวจสอบใน terminal ด้วยphp -m สำหรับOpenSSL PHP Extensionและ PDO 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 ขั้นตอนเหล่านี้ใน terminal:

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

    • php -r "if (hash_file ('SHA384', 'composer-setup.php') === '669656bab3166' echo 'ติดตั้ง' eDP '; php ');} echo PHP_EOL; "

    • นักแต่งเพลง php-setup.php

    • php -r "ยกเลิกการเชื่อมโยง ('ผู้แต่ง - setup.php');"

  6. ตรวจสอบผู้แต่งใน terminal: php composer.phar

  7. ติดตั้ง Laravel ในเทอร์มินัล:

    php composer.phar global require "laravel/installer"
    ผลลัพธ์ใน terminal จะแสดงไดเรกทอรีปัจจุบันของคุณ/home/yourname/.config/composer ไปที่ไดเรกทอรีปัจจุบันของคุณและกดctrl+hเพื่อแสดงไฟล์ที่ซ่อน
    ไปที่.configโฟลเดอร์จากนั้นcomposerโฟลเดอร์ที่มีเนื้อหาต่อไปนี้: เนื้อหาโฟลเดอร์ผู้แต่ง

  8. สร้างLaravel project ใน/var/www/htmlใน terminal:

    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.