php - 有人部署过 Laravel 吗?
怪我咯
怪我咯 2017-04-10 14:43:43
[PHP讨论组]

服务器上,数据库是依赖 Migrations,还是直接导SQL,还是自己写install。

vender 的是在服务器上也用 composer 还是手动传?

服务器上也用 artisan/composer 吗?

其他注意事项有什么?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(5)
怪我咯

在预发布环境从代码库完整 clone 一份代码到指定路径,然后执行

composer install --prefer-dist --no-dev
composer dumpautoload --no-dev --optimize

然后通过 rsync 同步到生产环境

rsync -zr --exclude-from=${PROJECT_DIR}/.deploy/rsync.excludes ${PROJECT_DIR}/ production:${PROJECT_DIR}/

vendor 目录里有很多文件并不需要发布到生产环境,可以设置一个忽略文件列表:

.git/

app/config/local/
app/config/test/
app/config/testing/
app/config/pre-release/

app/config/packages/**/local/
app/config/packages/**/test/
app/config/packages/**/pre-release/

app/database/migrations/*
app/database/seeds/*

app/start/local.php
app/start/test.php
app/start/testing.php
app/start/pre-release.php

app/storage/cache/*
app/storage/logs/*
app/storage/sessions/*
app/storage/views/*

app/tests/*Test.php
app/tests/**/*Test.php

vendor/**/tests/
vendor/**/test/
vendor/**/Tests/
vendor/**/doc/
vendor/**/notes/
vendor/**/test-suite/
vendor/**/*.md
vendor/**/README
vendor/**/phpunit.xml.*
vendor/**/.travis.yml

phpunit.xml

为了发布速度更快一些,可以先打包,然后再 scp 到生产环境。

这些工作都可用脚本来自动完成,只需前期调试完善,后面发布就很轻松了。

PHPz

直接composer。。。

怪我咯

composer部署便于以后升级

伊谢尔伦

不上传vender,用composer install方便

迷茫
  1. 我觉得升级数据库用 Migrations 不靠谱。比如,表结构变了,旧数据要导入新表里,这个怎么用Migrations 实现?除了在 Migrations 写导入导出逻辑,我想不到其他方法了。但这样和自己写脚本没啥区别了吧。

  2. vender 还是直接 composer 吧。它就是干这个活的。不过需要注意本地生成的 .lock 需要删除。

  3. 服务器上也用 artisan/composer。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号