全球拒绝访问网站进行更新,Laravel

时间:2015-05-26 16:20:08

标签: php laravel laravel-5 laravel-routing

这是一个相当开放的问题,因为我不确定这类活动的最佳做法是什么/应该是什么。

场景;基于用户的网站(具有登录的用户区域和用户可编辑的内容)需要执行若干操作以操纵实时数据。为了防止由于用户在更新过程中同时编辑而发生的任何错误,我需要暂时关闭用户。

我目前没有配置数据库表,只是一个配置文件。有两件事需要发生;

  • 对配置的更新恰好阻止用户在更新期间访问网站的某些区域 - 然后在更新完成后将其恢复。
  • 网站(或网站上的至少部分)需要在每次请求网站的所有部分之前进行检查 - 所以无论采用哪种方法,都需要轻量级

这是建立在Laravel上的网站。

谢谢!

2 个答案:

答案 0 :(得分:3)

有一个简单的工匠命令。使用它来关闭应用程序:

php artisan down

然后重新开启:

php artisan up

答案 1 :(得分:2)

在这种情况下我会使用几项措施。

  1. 将代码放入try-catch块中,这样如果出现问题,您可以生成显示错误消息。

  2. 如果有多个执行被调用,那么最好使用animationImages,如果遇到错误,系统将自动回滚。

  3. 如果您确实想要将某些功能放在维护模式上,请将这些路径放在DB::transaction()中,并仅为该组使用中间件。在该中间件中,返回503状态的响应。这样,您可以将某些路线置于maintanace模式,而其余路线将提供200 ok响应。