我正在尝试通过终端运行自定义命令,但始终收到错误消息:参数过多,期望的参数“ command”。
搜索类似问题时,我只能找到使用调度程序的人,而与从终端调用命令无关。
我要运行的命令的签名是:
class MigrateSiteMysiteCommand extends Command
{
protected $signature = 'migrate:site:mysite.dk {--from=} {--to=}';
...
然后我使用php artisan帮助迁移:site:mysite.dk我得到了:
Usage:
migrate:site:mysite.dk [options]
Options:
--from[=FROM]
--to[=TO]
-h,--help Display this help message
-q,--quiet Do not output any message
-V,--version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n,--no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose
output and 3 for debug
我尝试用不同的方式设置参数的格式来运行命令,但是两种方式都得到相同的错误:
php artisan迁移:site:mysite.dk --from = 2019-02-27 16:22:10 --to = 2019-02-28 23:59:59
php artisan migrate:site:mysite.dk --from ='2019-02-27 16:22:10'--to ='2019-02-28 23:59:59'
php artisan migrate:site:mysite.dk-从'2019-02-27 16:22:10'-到'2019-02-28 23:59:59'
php artisan migration:site:mysite.dk-从2019-02-27 16:22:10-到2019-02-28 23:59:59
对我所缺少的任何建议,或在命令中弄乱了什么? 我已经能够运行其他命令,不需要传递任何参数。
答案 0 :(得分:1)
必须将参数包装在“而不是'中,因此工作命令如下所示:
php artisan migrate:site:mysite.dk --from="2019-02-27 16:22:10" --to="2019-02-28 23:59:59"