php – 如何在Laravel中获取当前的控制台命令

我可以通过App :: runningInConsole()命令查看脚本是否在控制台中运行,但我想知道(出于审计日志记录的目的)从控制台运行了哪个命令.

要添加一些上下文 – 我需要在系统或用户访问某种类型的数据时进行记录.对于用户来说,这很简单 – 我可以使用Auth :: user()并从Request获取他们的IP地址,但是对于控制台命令,这有点困难.

我可以弄清楚控制台命令是否正在运行,这很好,但我需要能够记录正在运行的控制台命令.

解决方法:

我没有看到直接获取Laravel信息的方法.我也不确定这是怎么可能的,因为你可以让一个命令执行其他命令,甚至像一些测试工具那样创建一个新的应用程序实例.

然而,有一种方法可以使用普通的PHP实现这一点.您可以检查服务器/环境变量以确定应用程序的执行方式.

看一下

dd($_SERVER['argv']);

如果你运行一个命令,这应该给你$_SERVER [‘argv’] [1]中的命令名称

您可以在此处找到更多信息:http://php.net/manual/en/reserved.variables.argv.php

上一篇:PHP的工匠服务使我的命令提示符卡住


下一篇:关于Nodejs的多进程模块Cluster