对于如何创建一个Laravel项目,相信对新接触Laravel的朋友并不存在太多的问题,但是今天我们要来看一下如何将已有的Laravel项目迁移(复制)到新的开发环境。
我们需要用到的工具是git,如果你不知道git是什么,这里有一个传送门,看完之后再回来:
http://github.com
简单说来,git就是Github开发的VCS(Version Control System),即版本控制系统。如果你使用过SVN,那么你应该很清楚版本控制是什么。
本文的示例环境是Ubuntu 16.04 LTS,Windows的朋友可以在Git bash下进行操作。
为了便于理解和操作,我会在本地系统环境下进行演示,如果项目在服务器端也没关系,我在文中会提到具体操作。
假设我们已经创建好了一个项目,项目地址为/home/eagle/webdev/example,
我们先来讲解一下整体步骤:
- 在项目文件夹中初始化Git并将所有项目文件添加至working tree。
- 使用git clone命令克隆项目至新地址。
- 配置Laravel并重新安装dependencies
步骤很明确,那么我们就开始。
首先我们进入本地项目文件夹,初始化git:
$ cd /home/eagle/webdev/example $ git init $ git add . $ git commit -m "initial commit"
这样一来,我们就可以使用git clone来拷贝我们的项目了:
$ git clone /home/eagle/webdev/example /home/eagle/webdev/new_location
完成后,我们的项目就顺利被迁移至了新的文件夹中。
那么如果我们的项目文件不在本地呢,而在远端服务器呢?
这里我们分为两种情况。
第一,如果你使用了Github的Repository,那么你的项目地址类似于以下地址
https://github.com/eagle/example.git
那么我们要克隆项目的话,可以直接使用以上地址:
$ git clone https://github.com/eagle/example
第二种情况,我们用了自己的服务器部署Git Server。这种情况稍微复杂一点,我们需要获取服务器的公共ip(public address)。假设我的服务器公网ip是50.100.150.260,我的项目地址为/srv/git/example.git,那么我们要克隆项目,需要使用以下地址:
git@50.100.150.260:/srv/git/example.git
注意这里git是我们在部署Git Server时所创建专门用于git的用户。
克隆命令并没有变化:
$ git clone git@50.100.150.260:/srv/git/example.git
只是地址变更了而已。
好了,那么我们克隆完成之后,我们就需要进行下一步了。
首先我们需要先运行
$ composer install
来安装项目需求的包裹。因为在git clone时,位于vendor文件夹下的包裹将不会被拷贝,所以我们需要重新安装这些包裹。
完成之后,我们需要创建.env环境文件。
可能你已经注意到,我们新建Laravel项目的时候,.env文件将自动被创建在项目根目录下。但是这个文件是用于不同环境下项目配置的,所以在git clone时这个文件同样不会被拷贝至新路径。
好在Laravel自带了一个.env文件的样本,来提供我们一个基础的配置模板:
$ cp .env.example .env
现在我们有了.env环境配置文件,我们需要生成新的app key:
$ php artisan key:generate
接下来打开.env文件,你会发现APP_KEY一行已经自动填入了我们刚刚生成的key。
接下来我们将数据库信息填入相应的位置:
[...]"htmlcode">
$ php artisan migrate来进行数据库的迁移,如果有种子文件(seeder)的话,继续运行
$ php artisan db:seed进行seeding即可。
当然以上两个命令可以合并:
$ php artisan migrate --seed注意,原始项目数据库里除了使用seeder生成的数据仍然需要自行拷贝至新的数据库。
好了,这样一来我们后端的配置就完成了,如果你用了Laravel Mix来编译前端文件,那么你还需要
$ npm install注意:Windows环境下请运行npm install --save-dev --no-bin-links
最后要说的一点,如果你是迁移到服务器环境下,那么你需要将storage文件夹及其包含的文件进行权限的调整:
$ chown -R www-data: storage否则可能出现相应权限的错误。具体的权限调整请根据你环境的具体情况进行。
好了,现在我们已经成功地将Laravel迁移至了新的开发环境!
本文主地讲解了如何使用git迁移Laravel项目至新开发环境的步骤详解,更多关于Laravel框架的使用技巧请查看下面的相关链接
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?