Laravel项目迁移到新环境的操作是什么?

Admin 2021-05-10 群英技术资讯 810 次浏览

       这篇文章给大家分享的是有关Laravel项目迁移到新的开发环境的内容,对于刚接触Laravel的新手来说,可能对此不是很清楚,因此分享给大家做个参考,感兴趣的朋友就继续往下看吧。

       对于如何创建一个Laravel项目,相信对新接触Laravel的朋友并不存在太多的问题,但是今天我们要来看一下如何将已有的Laravel项目迁移(复制)到新的开发环境。

       我们需要用到的工具是git,简单说来,git就是Github开发的VCS(Version Control System),即版本控制系统。如果你使用过SVN,那么你应该很清楚版本控制是什么。

       本文的示例环境是Ubuntu 16.04 LTS,Windows的朋友可以在Git bash下进行操作。为了便于理解和操作,我会在本地系统环境下进行演示,如果项目在服务器端也没关系,我在文中会提到具体操作。

       假设我们已经创建好了一个项目,项目地址为/home/eagle/webdev/example,

       我们先来讲解一下整体步骤:

  1. 在项目文件夹中初始化Git并将所有项目文件添加至working tree。
  2. 使用git clone命令克隆项目至新地址。
  3. 配置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。

       接下来我们将数据库信息填入相应的位置:

[...]                

DB_CONNECTION=mysql                    

DB_HOST=127.0.0.1                    

DB_PORT=3306                    

DB_DATABASE=eagle                    

DB_USERNAME=homestead                    

DB_PASSWORD=secret                  

[...]

       我们看到,DB_DATABASE一行,我们填入该环境下数据库名称,DB_USERNAME及DB_PASSWORD一行,我们分别填入管理该数据库的用户名和密码。

       好了,现在我们保存文件。如果你有数据库迁移文件(migration),那么现在可以运行

$ 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框架的使用技巧大家可以继续关注其他文章。


群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服