有没有办法禁用 artisan 命令?
Is there a way to disable artisan commands?
有没有办法完全禁用来自 运行 的 artisan 命令?
例如,如果我想从 运行 禁用 php artisan migrate:fresh
,我应该去哪里 remove/disable 命令?
据我所知,laravel默认没有这个功能。而且这还在laravel ideas.
下
我之前也遇到过这个问题,找不到解决办法,我不知道你为什么要禁用一个命令。但我的情况是,在 production
环境中,我从不想 运行 php artisan migrate:fresh
。所以我最终得到的是覆盖默认命令。
例如,在 routes/console.php
文件中:
if ('production' === App::environment()) {
Artisan::command('migrate:fresh', function () {
$this->comment('You are not allowed to do this in production!');
})->describe('Override default command in production.');
}
因此,当您处于 production
时,php artisan migrate:fresh
将不执行任何操作。您可以根据您的要求更改条件,我的示例只是关于如何根据 .env
文件中的某些变量覆盖 laravel 默认命令的想法。
你也可以在这里做很多事情,我不确定你为什么要禁用命令,所以这是我能提供的最好的帮助。
有没有办法完全禁用来自 运行 的 artisan 命令?
例如,如果我想从 运行 禁用 php artisan migrate:fresh
,我应该去哪里 remove/disable 命令?
据我所知,laravel默认没有这个功能。而且这还在laravel ideas.
下我之前也遇到过这个问题,找不到解决办法,我不知道你为什么要禁用一个命令。但我的情况是,在 production
环境中,我从不想 运行 php artisan migrate:fresh
。所以我最终得到的是覆盖默认命令。
例如,在 routes/console.php
文件中:
if ('production' === App::environment()) {
Artisan::command('migrate:fresh', function () {
$this->comment('You are not allowed to do this in production!');
})->describe('Override default command in production.');
}
因此,当您处于 production
时,php artisan migrate:fresh
将不执行任何操作。您可以根据您的要求更改条件,我的示例只是关于如何根据 .env
文件中的某些变量覆盖 laravel 默认命令的想法。
你也可以在这里做很多事情,我不确定你为什么要禁用命令,所以这是我能提供的最好的帮助。