【发布时间】:2016-08-26 08:01:18
【问题描述】:
所以我刚刚完成了 laravel 的 antonioribeiro/firewall 软件包的安装,它基本上允许将 IP 地址和国家/地区列入黑名单和白名单。
我正在处理Artisan Commands 上的部分,但是当我尝试运行 'php artisan firewall:whitelist country:za' 时,我收到以下错误:
[Symfony\Component\Console\Exception\CommandNotFoundException]
Command "firewall:whitelist" is not defined.
Did you mean one of these?
firewall:list
firewall:tables
我已完成文档中列出的所有必要安装步骤。
我做错了什么?我应该在其他地方使用这个命令吗? 我知道这些可以手动输入到数据库中,但是拥有这个功能会很棒。
【问题讨论】:
-
您是否将
PragmaRX\Firewall\Vendor\Laravel\ServiceProvider::class,添加到config/app.php的提供商列表中? -
是的,我已经将 PragmaRX\Firewall\Vendor\Laravel\ServiceProvider::class, 添加到提供程序和 'Firewall' => PragmaRX\Firewall\Vendor\Laravel\Facade::class,给别名。我能够成功运行“php artisan firewall:list”,但没有其他命令。但是它确实说其他“防火墙:”命令是“专用于数据库使用”。这是否意味着它们必须以不同的方式执行?
-
也许这是个愚蠢的问题,但您是否也运行了
php artisan firewall:tables和php artisan migrate? -
是的,我运行了这些命令。我添加了中间件组条目,最后在完成配置设置后运行 php artisan vendor:publish。
-
哇。我修好了它。因此,当您运行“php artisan vendor:publish”时,它会在配置文件夹中创建一个名为 firewall.php 的文件。 'use_database' 的值默认设置为 false。我只需要将其更改为 true。所有 Artisan 命令现在都可以正常工作了
标签: php laravel-5 laravel-artisan