【问题标题】:Laravel Artisan & Composer commands on deploymentLaravel Artisan & Composer 部署命令
【发布时间】:2019-03-13 14:08:32
【问题描述】:

在部署全新的 Laravel 应用程序期间需要运行哪些 ComposerArtisan 命令?根据 Laravel 5.7 documentation,这些是唯一的基本命令吗?

composer install --optimize-autoloader --no-dev
php artisan config:cache
php artisan route:cache

【问题讨论】:

  • 根据您的应用程序以及您使用缓存的程度,清除视图和缓存可能会对性能产生很大影响。我认为最好将这些排除在您的自动流程之外,并且仅在需要时运行。
  • @Jeff 仅在需要时运行是什么意思?如果一个应用程序缓存了它的视图或配置,它们什么时候会被刷新?我认为唯一的方法是将它们包含在部署中(因为新代码可能会更改视图和配置,因此它们需要刷新)

标签: laravel composer-php laravel-artisan laravel-5.7 laravel-envoy


【解决方案1】:

方法有:

composer install --optimize-autoloader --no-dev
composer dump-autoload

其他是可选的。

  1. 你缓存你的配置吗?如果是,请包括php artisan config:cache
  2. 您是否缓存您的路线?如果是,请包括php artisan route:cache
  3. 您是否缓存您的视图?如果是,请包括php artisan view:cache
  4. 是否要在每次部署时刷新应用缓存?如果是,请包括php artisan cache:clear

请注意,刷新应用缓存可能会产生许多不良影响,尤其是当您将缓存系统用于会话、队列等时,因为它会清除所有内容

【讨论】:

  • 这两个命令都会生成优化的自动加载文件。这两个同时运行似乎有些多余。
  • 你的。 composer install --optimize-autoloader --no-dev composer dump-autoload
  • 不,它们不是同一个命令。您可以参考作曲家的文档。第一个优化自动加载文件,第二个清除它们。
  • 如果你背靠背运行它们... > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover 发现的包:bensampo/laravel-enum 发现的包:binarytorch/larecipe 发现的包: fideloper/proxy 发现包: laravel/tinker 发现包: nesbot/carbon 包清单生成成功。
  • 我明白了。刚刚检查了composer.json,Laravel通过钩子触发了第二个。是的,在这种情况下你可以跳过第二个
猜你喜欢
  • 2020-12-09
  • 2015-12-31
  • 2016-02-07
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
  • 2017-01-18
  • 2018-04-04
  • 1970-01-01
相关资源
最近更新 更多