0.前言
网上其实有很多过来人的教程,可是由于技术更迭太快,很多教程已经跟最新的Laravel脱轨了。大家不妨参考一下我的踩坑经历,不然枉费了一天的时间,不甘心啊。
1.我的服务器
我的服务器是安装的LAMP套装,即 Linux + Apache2 + MySql + PHP7.0。满足最新的Laravel框架的基本要求。
2.准备工作
根据Laravel官方文档所说,建议您使用Homestead作为您本地的Laravel开发环境。
但是,如果您不使用Homestead,则需要确保您的服务器符合以下要求:
- PHP> = 7.0.0
- OpenSSL PHP扩展
- PDO PHP扩展
- Mbstring PHP扩展
- Tokenizer PHP扩展
- XML PHP扩展
安装相关扩展,可以参考iloveyougirls的ubuntu16.04安装PHP7.0的laravel必须扩展,这里就不再介绍。
3.安装Composer
安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号。
3.1.下载Composer
打开命令行并依次执行下列命令安装最新版本的 Composer:
执行第一条命令下载下来的 composer-setup.php 脚本将简单地检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar 文件到当前目录。
上述 3 条命令的作用依次是:
- 下载安装脚本 - composer-setup.php - 到当前目录。
- 执行安装过程。
- 删除安装脚本。
3.2.局部安装
上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar 指令即可使用 Composer 了!
3.3.全局安装
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
Mac 或 Linux 系统:
打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:1sudo mv composer.phar /usr/local/bin/composerWindows 系统:
1、找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。
2、将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。
3、在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。1@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行 composer –version 看看是否正确输出版本号。
- 最后
提示:不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!
4.安装Laravel
Composer安装倒是很简单,但Laravel的安装就是坑的所在。
Laravel 利用 Composer 来管理依赖。所以,在使用 Laravel 之前,请确保你的机器上安装了 Composer。
4.1.通过 Laravel 安装器
首先,使用 Composer 下载 Laravel 安装程序:
确保 $HOME/.composer/vendor/bin 目录(或你的操作系统的等效目录)已经放在你的环境变量 $PATH 中,以便系统可以找到 laravel 的可执行文件。通过以上安装composer,我本地的要添加的composer目录为:
因此我把此bin目录添加到/etc/profile 和 ~/.bashrc文件中:
执行source /etc/profile 和source ~/.bashrc让环境立即生效。
一旦安装完成后,可以在终端$ laravel -v
可以使用 laravel new 命令在你指定的目录中建立一份全新安装的 Laravel 应用。例如: laravel new blog 命令会在当前目录下建立一个名为 blog 的目录, 此目录里面存放着全新安装的 Laravel ,并且所有依赖包也已经安装好了。此方法的安装速度会比通过 Composer 安装快很多。
4.2.通过 Composer 创建项目
或者,你还可以通过在终端中运行 create-project 命令来安装 Laravel:
4.3.如何让服务器显示Lavarel主页
安装 Laravel 之后,你要将 Web 服务器的根目录指向 public 目录。例如,在/etc/apache2/site-availible目录下新建一个.conf文件,并将虚拟主机的域名自定义(例如我自定义为 test.jiacyer.com )。该目录下的 index.php 文件将作为所有进入应用程序的 HTTP 请求的前端控制器。
5.坑记
看起来是不是并不难?然而我却遇到了如下的事情。
各种 Cannot create cache directory 或者 权限不足 问题。如下:
然后,就是各种安装过程中的Killed,明显是安装失败了,如下:
听从大佬的建议,重启了服务器,然后关闭apache服务和mysql服务,重新安装 Laravel 并出现以下报错:
是由于缺少 php7.0-zip 扩展造成的,使用如下指令安装即可:
最后,执行 composer global require “laravel/installer” 重新安装 Laravel 终于成功,如下图所示:
laravel -v 即可查看 Laravel 版本。通过 laravel new blog 即可新建项目:
网页虽然能打开了,然后报出了一个新的问题:
google轻松找到解决方案:
终于在浏览器中输入 test.jiacyer.com 就可访问到主页:
6.Windows平台搭建 Laravel 环境
其实,基本环境都是一样的。例如,我的环境是 Windows10 + Apache2.4 + PHP7.0 + MySql。这里就不讲解这些东西的基本搭建了,附上 Sanchi 的windows下PHP环境的搭建,另外推荐使用 PhpStorm 作为IDE,可以查考 ruglcc 的为 PhpStorm 添加 Laravel 代码智能提示功能,为IDE配上Laravel的代码提示功能。
安装 Apache 过程中,可能出现端口被占用的情况,这是因为VM虚拟机占用了该端口,可以在任务管理器-服务中关闭对应Pid的服务。
接下来的过程,就跟之前 Linux 的比较接近了。Windows 安装 Composer 可以参考 不二之家 的Windows环境下Composer的安装教程,之后的过程就可以跟上面的过程一致了,唯一多出来的步骤,就是把对应的指令加入到 Windows 环境变量 Path 中。最后安装 Laravel 即可。
配置完后,可以配置 Windows 下的 Apache 虚拟主机,可以参考 谷震平 的 Apache—-windows下虚拟主机和虚拟目录的认识(Apache配置)。
至此,Windows 下的 Laravel 基本搭建完成,但有一个问题,Laravel 的路由功能无法正常使用,也不能报错。解决方案:
在apache conf开启rewrite模块,把下面这句话前面的#去掉。
LoadModule rewrite_module modules/mod_rewrite.so
7.总结
感觉自己就是个菜鸡,一点点坑却需要数小时来填,心情复杂。
参考贴来源:
ubuntu16.04 安装composer和 laravel 作者:yanchengyc
Packagist/Composer 中国全量镜像
转载请注明出处,无偿提供。