有时候,我们需要判断是否是在命令行环境中执行,可以使用:
if (app()->runningInConsole()) { // 运行在命令行下 }
当然,在 PHP 中,你永远可以使用 PHP 原生的方法来检测:
if (strpos(php_sapi_name(), 'cli') !== false) { // 运行在命令行下 }
这是干啥用的?
@wanghan 判断是不是在 命令行 下运行的
难道php_sapi_name()还会输出其他的,我测试都是输出 cli
@lovecn 当然咯,例如 fpm 里就是 "fpm-fcgi"
fpm
@puzzle9 还是没理解,能不能举个例子
@hehorange 举个栗子, https://github.com/Hanson/vbot/blob/7cbe5c...
vbot 只允许用户在 terminal 中运行
例如:laravel定时任务
既然是 wiki,建议加上参考链接一栏。
@hehorange 这个一般是写在bootstrap/app.php 这个里边 你把这个写在 这里边 然后在命令随便打个命令 你就知道了 如果是在命令行 if里边随便输出一个字符
if (PHP_SAPI == 'cli') { // console }else{ // other.. }
我要举报该,理由是:
这是干啥用的?
@wanghan 判断是不是在 命令行 下运行的
难道php_sapi_name()还会输出其他的,我测试都是输出 cli
@lovecn 当然咯,例如
fpm
里就是 "fpm-fcgi"@puzzle9 还是没理解,能不能举个例子
@hehorange 举个栗子, https://github.com/Hanson/vbot/blob/7cbe5c...
vbot 只允许用户在 terminal 中运行
例如:laravel定时任务
既然是 wiki,建议加上参考链接一栏。
@hehorange 这个一般是写在bootstrap/app.php 这个里边
你把这个写在 这里边 然后在命令随便打个命令 你就知道了
如果是在命令行 if里边随便输出一个字符