Php Laravel服务器执行过程

Php Laravel服务器执行过程,php,laravel,laravel-5,Php,Laravel,Laravel 5,关于拉威尔,我有几个问题需要回答 1我已向服务器发送执行业务逻辑的请求。这种业务逻辑有很多流程,比如发送电子邮件、短信等等。现在,我向服务器发送了请求,我的计算机就关机了。会发生什么?Laravel是执行整个脚本还是停止脚本执行 2我的浏览器关闭时,Laravel是否执行所有服务器请求 3这个问题是基于我的问题2。如果问题2的答案是“否”,那么我如何确保我的请求的所有语句都已执行?与来自前端的任何其他服务器请求一样,您的计算机+浏览器完全在服务器的后端处理。原因:Laravel是一个基于PHP的

关于拉威尔,我有几个问题需要回答

1我已向服务器发送执行业务逻辑的请求。这种业务逻辑有很多流程,比如发送电子邮件、短信等等。现在,我向服务器发送了请求,我的计算机就关机了。会发生什么?Laravel是执行整个脚本还是停止脚本执行

2我的浏览器关闭时,Laravel是否执行所有服务器请求

3这个问题是基于我的问题2。如果问题2的答案是“否”,那么我如何确保我的请求的所有语句都已执行?

与来自前端的任何其他服务器请求一样,您的计算机+浏览器完全在服务器的后端处理。原因:Laravel是一个基于PHP的框架,PHP是服务器端代码。因此,执行完全在服务器上进行

另一方面,为了使前端与后端发生的事情保持最新,服务器响应被发送回前端。当这些响应到达前端时,它们会自动触发另一个服务器请求,或者要求用户操作向服务器发送另一个请求

有了这些信息,您的问题的答案显而易见:

1我已向服务器发送执行业务逻辑的请求。这种业务逻辑有很多流程,比如发送电子邮件、短信等等。现在,我向服务器发送了请求,我的计算机就关机了。会发生什么?Laravel是执行整个脚本还是停止脚本执行

是的,请求发送到的脚本将完全执行。只有当业务逻辑流程将响应发送回前端并且需要用户执行另一个操作才能完成时,业务逻辑流程才会中断。示例:注册后的用户电子邮件验证、短信确认码请求。但是,这些失败不会阻止脚本完成执行,它们只会使预期的过程(例如用户注册)不完整

2我的浏览器关闭时,Laravel是否执行所有服务器请求

对!!这绝对是完全正确的。您的浏览器不需要打开,服务器机器才能正常工作。有趣的是,你的浏览器关闭按钮/电脑电源按钮无法打开/关闭服务器

给你。一旦您的请求被发送到服务器,服务器将采用多种方式独立于浏览器完成您的请求。您的浏览器通常处理MarkupHTML、StyleCSS和前端脚本


如果您对使用Laravel返回服务器的请求的情况非常感兴趣,请阅读Laravel请求生命周期中的这篇文章

在Laravel中有一个队列的概念。这会将所有请求存储在数据库队列中,然后您可以通过命令php artisan queue:work执行。请遵循以下操作,这可能会帮助您实现您的需求。大约1您应该避免此类操作。它是否工作取决于为PHP实例配置的最大执行时间。但一般来说,在一个web应用程序中,任何超过3秒钟的事情都被认为是不好的,并且被用户认为是坏的。