Laravel 中检测是否在命令行执行?

29

有时候,我们需要判断是否是在命令行环境中执行,可以使用:

if (app()->runningInConsole()) {
    // 运行在命令行下
}

当然,在 PHP 中,你永远可以使用 PHP 原生的方法来检测:

if (strpos(php_sapi_name(), 'cli') !== false) {
    // 运行在命令行下
}
讨论数量: 8
wanghan

这是干啥用的?

2个月前

@wanghan 判断是不是在 命令行 下运行的

2个月前

难道php_sapi_name()还会输出其他的,我测试都是输出 cli

2个月前
Summer

@lovecn 当然咯,例如 fpm 里就是 "fpm-fcgi"

2个月前

@puzzle9 还是没理解,能不能举个例子

1个月前
Hanson
1个月前
Bowens

例如:laravel定时任务

1个月前

既然是 wiki,建议加上参考链接一栏。

3周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!