Laravel 10 Artisan命令添加选项报错排查求助
Laravel Artisan命令签名语法错误排查
你的问题出在命令签名的语法非法字符和选项类型不匹配上,具体如下:
第一次修改的签名问题
- 选项类型不匹配:
{--company_id}定义的是开关型选项(不需要传值,只要命令里出现该选项就视为true),但你执行时用了--company_id=1传值,导致Laravel识别不到这个带值的选项。 - 非法字符:最后一个选项
{--create_published=1)的结尾括号是中文括号,这会让Laravel无法正确解析整个签名,直接导致选项识别异常。
第二次修改的签名问题
你依然保留了{--create_published=)的中文结尾括号,这个非法字符会让Laravel跳过解析该选项,所以报错--create_published不存在。
正确的签名写法
如果你的需求是:task_category_id为必填参数,company_id为可选带值选项,create_published为可选带默认值的选项,正确签名应该是:
app:rss-import-by-url-test-command {task_category_id} {--company_id=} {--create_published=1}
对应的执行命令示例:
# 仅传必填参数 php artisan app:rss-import-by-url-test-command 1 # 传必填参数+可选选项 php artisan app:rss-import-by-url-test-command 1 --company_id=1 --create_published=0
内容的提问来源于stack exchange,提问作者mstdmstd
相关产品推荐
相关产品推荐

