laravel - 在 Laravel 中,如何判断一个请求是否正在处理?
问题描述
我有一些可以从网络服务器或 Tinker/worker/脚本调用的代码。该代码需要确定是否正在从 Web 服务器调用。
我最初认为 request() 在没有请求时会为空,但事实并非如此。接下来我认为如果没有请求,request getHost 或 request getURI 会返回 null,但事实并非如此。
是否有一种优雅的方式来确定代码是否响应请求而运行?我可以使用中间件,但这似乎也不必要地复杂。
我能想出的最佳解决方案是检查 $request->header('User-Agent') 是否包含“Symfony”。这似乎很hacky。
解决方案
您可以使用它app()->runningInConsole()
来检查请求是通过 Web 服务器还是通过控制台接收的。
推荐阅读
- python - c语言中的Python扩展
- javascript - 如何在 javascript 中创建版本 3 或版本 5 UUID 实现?
- javascript - 取决于多选 Codeigniter 的下拉菜单
- csv - jmeter的http请求中的动态searchParameters
- node.js - Prometheus DB 获取 Api 调用,如何获取最近 15 分钟的数据?
- csv - 如何在 vue.js 中创建 CSV 文件
- opencv - opencv solvePnP 坐标系
- html - 如何在 AMP 页面中添加自定义 CSS 和脚本
- doctrine-orm - 学说 loadClassMetadata
- javascript - 按孩子的孩子排序数组