Cài đặt laravel 5 trên Ubuntu 16.04


21

Bất cứ ai cũng cài đặt laravel 5 trên Ubuntu 16.04? Tôi mới chuyển sang Ubuntu 16.04 và tôi đang cố gắng cài đặt khung laravel 5 trên nó bằng trình soạn thảo. Nhưng mỗi khi tôi cố gắng tạo ra một dự án, nó sẽ mang lại cho tôi

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.

Tôi đọc các bài báo Ở đây một trong số họ nói rằng Ubuntu 16.04 đi kèm với PHP7 như mặc định nhưng chúng ta vẫn có thể sử dụng PHP5. Tuy nhiên tôi đã thử cả PHP7 & PHP5 và vẫn gặp lỗi tương tự! Có ý kiến ​​gì không? Cảm ơn

Câu trả lời:


30

Cách cài đặt Laravel trong Ubuntu 16.04

Cập nhật: Laravel 5.4

Vì rất quan tâm đến câu hỏi này, tôi đã quyết định cập nhật nó và tạo một tập lệnh bash nhỏ để cài đặt mọi thứ bạn cần để làm việc với Laravel (cái này là với NGINX)

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

Bạn có thể chỉ cần sao chép nó và chỉnh sửa nó nếu bạn muốn ... có thể bạn đã cài đặt một số thành phần bên trong tập lệnh, nếu vậy, bạn có thể tự do xóa các phần mà bạn không cần.


Laravel 5.2 nằm xuống bên dưới:

cài đặt công cụ cơ bản (tùy chọn)

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

ĐÈN

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

HIỆN

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

kích hoạt mod

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

Nhà soạn nhạc

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

cài đặt phpmyadmin

sudo apt-get install phpmyadmin     

sau này có thể truy cập thông qua localhost / phpmyadmin

Tạo dự án 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!)

Tạo máy chủ ảo làm việc.com

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

và dán cái này vào trong tài liệu đó


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

cho phép trang web đó

sudo a2ensite work.com
service apache2 reload

sửa tập tin máy chủ để bạn có thể truy cập nó thông qua trình duyệt web

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

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

hoặc sử dụng lệnh này

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

Đó là laravel được cài đặt!

Tôi đã thực hiện một hướng dẫn trên youtube về cách làm cho nó đúng .... Với tất cả những điều bạn cần để làm việc với laravel. Đây là liên kết: https://www.youtube.com/watch?v=A6TdaRIsG6g


Nếu ví dụ tôi không muốn chạy nhà soạn nhạc như sudo, tôi có thể làm gì? Có một cảnh báo nói không sử dụng sudo với nhà soạn nhạc.
m33bo

bạn cần tạo thư mục với tư cách là người dùng và cài đặt laravel và trình soạn thảo mà không cần sử dụng sudo
lewis4u

ngọt. Hơn 100 hoạt động trên máy của tôi
Semo

Xin lỗi, chmod 77 5 không đủ sao?
Semo

1
thư mục lưu trữ và bootstrap cần phải có 777
lewis4u

3

Tôi đã nâng cấp php 5.6.11 lên 5.6.21.

Vì vậy, trong trường hợp của tôi, tôi đã phải chạy:

sudo apt-get install php5.6-mbstring

PS: Cách tôi nâng cấp từ 5.6.11 lên 5.6.21 sau:

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

Lý do nâng cấp: zend_mm_heap bị hỏng trong quá trình cập nhật trình soạn thảo.


3

Đây là các bước tôi phải thực hiện để cài đặt Laravel 5 trên Ubuntu Server 16.04 sau khi nâng cấp mới

Đầu tiên tôi phải loại bỏ hoàn toàn tất cả PHP, như Mohammad Barhoush đã tuyên bố:

  • sudo apt-get -y purge php.*

Sau đó, tôi đã cài đặt lại PHP với:

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

Sau khi cài đặt lại PHP ver.7.0, tôi đã cài đặt các gói liên quan bổ sung mà Mohhammad khuyên dùng:

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

Và kích hoạt các mod

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

    Và cuối cùng sau tất cả, nhà soạn nhạc này vẫn còn đau đớn phàn nàn rằng nó không có phần mở rộng zip cho một composer updatevì vậy tôi đã cài đặt như sau:

  • sudo apt-get install php7.0-zip

Sau đó, nó chạy tốt mà không có lỗi!

Đây là những bước cần thiết để tôi có được chức năng laravel 5 đến từ phiên bản LTS trước đây của Ubuntu Server. Hy vọng điều này sẽ giúp! Trân trọng :)

-Derick


2

Phần mở rộng mb chuỗi PHP hiện nằm trong một gói riêng, vì vậy bạn cần phải làm:

apt-get install php-mbstring

Vẫn nhận được cùng một nhật ký lỗi
Mohammad Barhoush

nó làm việc cho tôi Tx
Juliatzin del Toro

1

Giải pháp của oerdnj hoạt động, sau khi cài đặt, mbstringbạn nên kích hoạt nó php.initrước khi chạy composer install. Trong trường hợp của tôi, laravel yêu cầu ext-mbopes và ext-dom:
apt-get install php-dom


nhưng anh ấy không nói làm thế nào để thêm nó vào php.ini :(
Juliatzin del Toro

1

Cảm ơn tất cả các bạn đã trả lời .. Cuối cùng tôi cũng có thể giải quyết vấn đề này bằng cách thực hiện:

  • Xóa hoàn toàn php trước:

    sudo apt-get -y purge php.*

  • Cài đặt lại php và các gói quan trọng liên quan:

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

  • Bật mod (Nhờ video lewis4u):

    sudo phpenmod mcrypt

    sudo phpenmod mbstring


1

Ở đó bạn cần phải làm một cái gì đó thủ công trong tập tin cấu hình .. Tôi thấy bài viết này thực sự hữu ích. Trước tiên, cần kiểm tra thư viện mbopes.dll thời tiết đã được cài đặt trong hệ thống bằng hàm 'phpinfo ()'. Nếu nó được bật, thay vì bỏ ghi chú 'extension = php_mbopes.dll', chỉ cần giữ nó nhận xét trong tệp cấu hình php.ini hoặc nếu nó không ở đó cài đặt nó bằng cách sudo apt-get install php-mbstring php7.0-mbstring

Sau đó chỉ cần cấu hình như sau.

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

Đó là nó .. Tôi nghĩ rằng bạn biết phần còn lại của những thứ như làm thế nào để cài đặt laravel và tất cả ..


1

Vì vậy, tôi đã gặp vấn đề tương tự như anh chàng ở trên, nơi tôi cần cài đặt php-dom nên tôi đã cố chạy apt-get install php-domnhưng nó lại xuất hiện thông báo

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.

Vì tôi hơi mới với thiết bị đầu cuối nên tôi thấy điều này hơi khó hiểu nhưng tôi đang chạy Ubuntu 16.04 với php7 nên tôi mới chạy: apt-get install php7.0-xmlvà điều đó hiệu quả với tôi ... hy vọng điều đó sẽ giúp được ai đó!


0

Để cài đặt Laravel 5.4trên Ubuntu 16.04như trong tài liệu hướng dẫn Laravel với kiểm tra:

  1. Kiểm tra phiên bản PHP của bạn trong thiết bị đầu cuối bằng cách : php -v, phiên bản php của bạn phảiPHP >= 5.6.4
  2. Kiểm tra trong thiết bị đầu cuối với php -m cho OpenSSL PHP ExtensionPDO PHP Extension.
  3. Terminal: sudo apt install php-mbstring và kiểm tra lại bằng cách php -mcho Mbstring PHP ExtensionTokenizer PHP Extension.

  4. Terminal: sudo apt install php-xmlvà kiểm tra lại bằng cách php -mchoXML PHP Extension

  5. Tải xuống Trình soạn thảo theo 4 bước này trong thiết bị đầu cuối:

    • php -r "sao chép (' https://getcomposer.org/installer ', 'composer-setup.php');"

    • php -r "if (hash_file ('SHA384', 'compos-setup.php') === ' php ');} lặp lại PHP_EOL; "

    • Nhà soạn nhạc php-setup.php

    • php -r "hủy liên kết ('composer-setup.php');"

  6. Kiểm tra nhà soạn nhạc trong thiết bị đầu cuối: php composer.phar

  7. Cài đặt Laravel trong thiết bị đầu cuối:

    php composer.phar global require "laravel/installer"
    Đầu ra trong terminal sẽ hiển thị thư mục hiện tại của bạn /home/yourname/.config/composer , đi đến thư mục hiện tại của bạn và nhấn ctrl+hđể hiển thị tệp ẩn.
    Chuyển đến .configthư mục sau đó composerthư mục với các nội dung sau: nội dung thư mục soạn thảo

  8. Tạo Laravel project/var/www/htmltrong thiết bị đầu cuối:

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

  9. Mở myLaravel của bạn trong terminal sau đó dán: php artisan servevà sao chép http://127.0.0.1:8000trong trình duyệt của bạn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.