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 命令报错

感谢

多谢大家 多多指教

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 7

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

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

会不会是文件权限问题?

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

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

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

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