cmd下执行 php artisan 命令报错

1. 运行环境

1). 当前使用的 Laravel 版本?

Laravel Framework Lumen (8.3.4) (Laravel Components ^8.0)

2). 当前使用的 php/php-fpm 版本?

PHP 7.4.16 (cli) (built: Mar  2 2021 14:06:15) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

3). 当前系统

Windows server 2012

2. 问题描述?

①.在生产环境cmd下,执行自定义的 php artisan 命令 提示no command defined in the xxx,但是提醒未定义的命令和我定义的命令不一样 缺少一部分,详情如图。
但是通过 Artisan::call(‘run:continuous-check’)在控制器调用该命令 可以成功执行

cmd下执行 php artisan 命令报错

②.在我本地开发环境(win10)是没有任务问题的。

代码片段

class ContinuousCheck extends Command
{
    protected $signature = 'run:continuous-check';
}

class Kernel extends ConsoleKernel
{
     protected $commands = [ContinuousCheck::class];
}    

补充一下

我刚才发现这个问题很诡异,我每次变更 kernel文件 然后执行 php artisan list 是可以看到这个命令,但是我马上再次执行 php artisan list 这个命令就消失了

cmd下执行 php artisan 命令报错

感谢

多谢大家 多多指教

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7

你在服务器的项目根目录运行 php artisan 看看列出来的命令有没有你自定义的那个 run:xxxx

1年前 评论
xiao (楼主) 1年前
tomcath (作者) 1年前

会不会是文件权限问题?

1年前 评论
xiao (楼主) 1年前

看你的描述感觉有可能是文件名或者类名的大小写问题,可以对比一下是否一致

1年前 评论
xiao (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!