部署Laravel项目的正确方法

时间:2018-09-11 20:24:13

标签: laravel laravel-5.6

我正在尝试在实时服务器上部署我的第一个laravel项目。

  1. 我应该从本地项目中使用composer.lock进行部署吗?
  2. 我应该与本地供应商一起部署吗?

我做了什么:

当我在没有composer.lock import datetime, re def _sort_key(d): return list(map(int, re.findall('\d+', list(i.values())[0]['data']['created']))) def get_data(d): _c = [[{a:b}] if 'data' in b else get_data(b) for a, b in d.items() if isinstance(b, dict) or 'data' in b] return [i for b in _c for i in b] results = sorted(get_data(dict_items), key=_sort_key)[:2] 命令的情况下部署时,没有在实时服务器上安装软件包。我尝试上传composer.json并运行[{'some-id-C03': {'index': 3, 'role': 'admin', 'text': 'test_A_02', 'data': {'comment': 'A test', 'version': '1', 'created': '05/09/18 14:18', 'created_by': 'John'}, 'type': 'subTesting'}}, {'some-id-B01': {'index': 1, 'role': 'admin', 'text': 'test_B_02', 'data': {'comment': 'B test', 'version': '1', 'created': '05/09/18 14:16', 'created_by': 'Pete'}, 'type': 'subTesting', 'id': '33441122-b655-8877-ccddeeff88bb'}}] 无效,并出现内存不足错误。然后我从.gitignore中删除了composer.lock,对吗?

什么是正确的部署方式?

2 个答案:

答案 0 :(得分:1)

  1. 是的,您应该使用本地的composer.lock文件来确保实时环境使用与本地相同的软件包版本。
  2. 您可以但通常可以在现场环境中进行composer install。但是,如果您确实上载了供应商目录,则根本不需要composer install

没有进行部署的“正确”方法。通常取决于您的需求。

答案 1 :(得分:0)

  1. 您可以使用本地的“ 合成器锁”文件。但是laravel建议不要使用本地的“ composer lock ”,在“ composer update ”命令生成新的锁定文件后,它可以正常工作。
  2. 您可以使用本地供应商。但是laravel建议不要使用本地供应商文件,当您运行“ composer udpate ”命令时,laravel再次生成供应商文件夹,此过程会更好。 laravel还将这个“ 供应商”文件夹添加到gitignore文件中,以避免不必要的文件被推送。