gpt4 book ai didi

laravel - 在 Controller 中调用自定义 Artisan 命令 | Laravel

转载 作者:行者123 更新时间:2023-12-01 09:47:18 25 4
gpt4 key购买 nike

我试图在 Controller 中执行自定义 Artisan 命令,但它抛出了 CommandNotFound异常(exception)。在实现中我运行命令,而不是执行整个命令'php artisan scan {url}',我只是运行 scan {url} 因为这个答案:Running Artisan Command .我不明白我做错了什么?

自定义工匠命令 签名

protected $signature = 'scan {url}
{--r= : y or n | to follow or not to follow the robot.txt}
{--fm= : set follow mode}
{--u= : username}
{--p= : password}
{--s : SQL module}
{--x : XSS module}';

实现
switch ($select) {

case 'full':

\Artisan::call('scan ' . $customer->cms_url); //url == http://localhost:8888
return $request;

break;
}

错误
1/1) CommandNotFoundException
There are no commands defined in the "scan http" namespace.
in Application.php (line 548)
at Application->findNamespace('scan http')
in Application.php (line 582)
at Application->find('scan http://localhost:8888')
in Application.php (line 205)

最佳答案

首先在 app/console/Kernel.php 中注册您的 Artisan 命令: 在命令数组中添加您的命令类。之后你可以像这样调用你的命令

\Artisan::call('scan', ['url' => "{$customer->cms_url}"]);

您必须将 url 包裹在 " " 中否则它不会设置完整的字符串

关于laravel - 在 Controller 中调用自定义 Artisan 命令 | Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46022800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com