在Ubuntu 16.04上安装laravel 5
有人在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.
我读过文章其中一个人说Ubuntu 16.04默认配备PHP7,但我们仍然可以使用PHP5。 但是我尝试了PHP7和PHP5并仍然得到相同的错误! 有任何想法吗? 谢谢
如何在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
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
composer php
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 ServerName work.com DocumentRoot /var/www/html/work/public AllowOverride All Require all granted
启用该网站
sudo a2ensite work.com service apache2 reload
修复hosts文件,以便您可以通过Web浏览器访问它
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
我已经将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
升级原因:在composer php更新期间zend_mm_heap损坏 。
这些是我在新升级后在Ubuntu Server 16.04上安装Laravel 5时必须采取的步骤
首先,我必须完全删除所有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
并启用了mod
-
sudo phpenmod mcrypt
-
sudo phpenmod mbstring
最后,在所有这位composer php仍抱怨之后,它还没有用于
composer update
的zip扩展,所以我安装了以下内容: -
sudo apt-get install php7.0-zip
之后它运行得很好,没有错误!
这些是我从前一个LTS版本的Ubuntu Server获得laravel 5function所需的步骤。 希望这有帮助! 最好的祝福 :)
-Derick
PHP mbstring扩展现在位于一个单独的包中,因此您需要执行以下操作:
apt-get install php-mbstring
oerdnj的解决方案有效,在安装mbstring
你应该在运行composer install
之前在php.ini
启用它。 在我的情况下,laravel需要ext-mbstring和ext-dom:
apt-get install php-dom
所以我遇到了与上面那个我需要安装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.
由于我有点新的终端我发现这有点令人困惑,但我运行unbuntu 16.04与php7所以我只是运行: apt-get install php7.0-xml
,这对我apt-get install php7.0-xml
…希望有助于某人!
谢谢大家的回复..我终于能够通过以下方式解决这个问题:
-
首先完全删除php:
sudo apt-get -y purge php.*
-
重新安装php和这些重要的相关包:
sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext
-
启用mods(感谢lewis4uvideo):
sudo phpenmod mcrypt
sudo phpenmod mbstring
你需要在配置文件中手动执行某些操作..我发现这篇文章真的很有帮助。 首先,需要检查天气mbstring.dll库已经在系统中使用’phpinfo()’函数安装。 如果启用了,而不是取消注释’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
就是这样..我想你知道其他的事情,比如如何安装laravel和所有..
要在Urantu Ubuntu 16.04
上安装Laravel 5.4
,就像在Laravel文档中使用check一样:
- 在终端上检查你的PHP版本:
php -v
,你的php版本必须是PHP >= 5.6.4
- 使用
php -m
检查终端,以获取OpenSSL PHP Extension
和PDO PHP Extension
。 -
终端:
sudo apt install php-mbstring
并再次通过php -m
检查Mbstring PHP Extension
和Tokenizer PHP Extension
。 -
终端:
sudo apt install php-xml
并再次通过php -m
检查XML PHP Extension
-
通过终端中的以下4个步骤下载Composer:
-
php -r“copy(’ https://getcomposer.org/installer','composer-setup.php ‘);”
-
php -r“if(hash_file(’SHA384’,’composer-setup.php’)===’669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410’){echo’Installer verified’;} else {echo’Installer corrupt’; unlink(’composer-setup。 php’);} echo PHP_EOL;“
-
php composer-setup.php
-
php -r“unlink(’composer-setup.php’);”
-
-
检查终端中的
php composer.phar
:php composer.phar
-
在终端安装Laravel:
php composer.phar global require "laravel/installer"
终端中的输出将显示当前目录到/home/yourname/.config/composer
,转到当前目录并按ctrl+h
显示隐藏文件。
转到.config
文件夹然后转到composer
文件夹,其中包含以下内容: composer文件夹内容 -
在终端的
/var/www/html
中创建Laravel project
:php composer.phar create-project --prefer-dist laravel/laravel /var/www/html/myLaravel
-
在终端打开myLaravel然后粘贴:
php artisan serve
并在浏览器中复制http://127.0.0.1:8000