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

Php 全球拒绝访问网站进行更新,Laravel,php,laravel,laravel-5,laravel-routing,Php,Laravel,Laravel 5,Laravel Routing,这是一个相当开放的问题,因为我不确定这类活动的最佳实践是什么 情景;基于用户的网站(具有登录的用户区域和用户可编辑的内容)需要执行多个操作来操作实时数据。要停止由于用户在更新过程中同时编辑而导致的任何错误,我需要暂时关闭用户 我目前没有配置数据库表,只有一个配置文件。需要发生两件事 在更新过程中,对配置的更新会阻止用户访问网站的某些区域-更新完成后,此操作将被还原 网站(或至少网站上的部分)需要在每次请求网站的上述部分之前进行检查-因此无论采用何种方法,都需要轻量级 这是一个建在拉维尔的地方

这是一个相当开放的问题,因为我不确定这类活动的最佳实践是什么

情景;基于用户的网站(具有登录的用户区域和用户可编辑的内容)需要执行多个操作来操作实时数据。要停止由于用户在更新过程中同时编辑而导致的任何错误,我需要暂时关闭用户

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

  • 在更新过程中,对配置的更新会阻止用户访问网站的某些区域-更新完成后,此操作将被还原
  • 网站(或至少网站上的部分)需要在每次请求网站的上述部分之前进行检查-因此无论采用何种方法,都需要轻量级
这是一个建在拉维尔的地方


谢谢

在这种情况下,我将使用几种方法

  • 将代码放在try-catch块中,这样如果出现错误,您就可以完整地显示错误消息

  • 如果涉及多个执行,那么最好使用
    DB::transaction()
    ,系统将在遇到错误时自动回滚

  • 如果您确实想将某些功能置于维护模式,则将这些路由置于
    Route::group()
    中,并仅对该组使用中间件。在该中间件中,返回503状态的响应。这样,您可以将某些路由置于maintanace模式,而其余路由将给出200 ok响应


  • 在这种情况下,我将使用几种方法

  • 将代码放在try-catch块中,这样如果出现错误,您就可以完整地显示错误消息

  • 如果涉及多个执行,那么最好使用
    DB::transaction()
    ,系统将在遇到错误时自动回滚

  • 如果您确实想将某些功能置于维护模式,则将这些路由置于
    Route::group()
    中,并仅对该组使用中间件。在该中间件中,返回503状态的响应。这样,您可以将某些路由置于maintanace模式,而其余路由将给出200 ok响应


  • 有一个简单的artisan命令用于此。使用此选项关闭应用程序:

    php artisan down
    
    要重新打开它,请执行以下操作:

    php artisan up
    

    有一个简单的artisan命令用于此。使用此选项关闭应用程序:

    php artisan down
    
    要重新打开它,请执行以下操作:

    php artisan up
    

    laravel 5是否仍有
    php artisan关闭
    将其置于维护模式?如果您完全了解如何编程,那么这听起来更像是一个用户体验问题。请在本网站上查看我的答案,了解如何在维护之前和维护期间握住用户的手。谢谢@castis和MonkeyZeus。了解更多信息;这是一个梦幻般的足球联赛,所以这种停工将发生在每一场比赛的周末,并且必须发生在你可以称之为“高峰期”的时候(因为人们将登录以尽快了解他们是如何做到的!)。虽然我可以把整个网站拉下来,但如果允许用户访问网站中至少不受“更新模式”影响的部分,那就太好了@Alex,我认为同样的方法也适用。将网站编码为只屏蔽某些功能是一项艰巨的任务。@MonkeyZeus-谢谢,这是一篇有用的帖子,但所有这些都不言而喻。我想,我真的想在Laravel中修改(或创建我自己的)维护模式。Laravel 5是否还有
    php artisan关闭以将其置于维护模式?如果您完全了解如何编程,那么这听起来更像是一个用户体验问题。请在本网站上查看我的答案,了解如何在维护之前和维护期间握住用户的手。谢谢@castis和MonkeyZeus。了解更多信息;这是一个梦幻般的足球联赛,所以这种停工将发生在每一场比赛的周末,并且必须发生在你可以称之为“高峰期”的时候(因为人们将登录以尽快了解他们是如何做到的!)。虽然我可以把整个网站拉下来,但如果允许用户访问网站中至少不受“更新模式”影响的部分,那就太好了@Alex,我认为同样的方法也适用。将网站编码为只屏蔽某些功能是一项艰巨的任务。@MonkeyZeus-谢谢,这是一篇有用的帖子,但所有这些都不言而喻。我想,我真的想在Laravel.Upvote中修改(或创建我自己的)维护模式,选择第三个选项。我认为这才是OP想要实现的目标;我认为选项3也非常接近我的目标。但在维护模式下,我应该如何触发503?如果是DB设置,我必须对DB for EVEY请求执行检查。请对第三个选项进行Upvote。我认为这才是OP想要实现的目标;我认为选项3也非常接近我的目标。但在维护模式下,我应该如何触发503?如果是DB设置,我必须对DB for EVEY request执行检查。?如果你通读评论和问题本身,你会看到这不是我想要的答案如果你通读评论和问题本身,你会看到这不是我想要的答案