antonioribeiro / firewall package在升级到laravel 5.2.5之后抛出错误?

时间:2015-12-29 08:40:48

标签: php laravel laravel-5

我正在开发一个laravel应用程序,并决定使用antonioribeiro/firewall来管理整个应用程序中的IP限制。包裹很棒,像魅力一样工作。直到最近我升级到最近的laravel版本5.2.5当包开始抛出和错误时,我在下面粘贴的堆栈:

[2015-12-29 09:23:20] local.ERROR: exception 'BadMethodCallException' with message 'Method filter does not exist.' in /home/vagrant/Code/archive/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php:81
Stack trace:
#0 /home/vagrant/Code/archive/vendor/pragmarx/firewall/src/Vendor/Laravel/ServiceProvider.php(163): Illuminate\Routing\Router->__call('filter', Array)
#1 /home/vagrant/Code/archive/vendor/pragmarx/firewall/src/Vendor/Laravel/ServiceProvider.php(163): Illuminate\Routing\Router->filter('fw-block-bl', '\\PragmaRX\\Firew...')
#2 /home/vagrant/Code/archive/vendor/pragmarx/firewall/src/Vendor/Laravel/ServiceProvider.php(67): PragmaRX\Firewall\Vendor\Laravel\ServiceProvider->registerFilters()
#3 /home/vagrant/Code/archive/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(531): PragmaRX\Firewall\Vendor\Laravel\ServiceProvider->register()
#4 /home/vagrant/Code/archive/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(74): Illuminate\Foundation\Application->register(Object(PragmaRX\Firewall\Vendor\Laravel\ServiceProvider))
#5 /home/vagrant/Code/archive/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(507): Illuminate\Foundation\ProviderRepository->load(Array)
#6 /home/vagrant/Code/archive/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php(17): Illuminate\Foundation\Application->registerConfiguredProviders()
#7 /home/vagrant/Code/archive/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(203): Illuminate\Foundation\Bootstrap\RegisterProviders->bootstrap(Object(Illuminate\Foundation\Application))
#8 /home/vagrant/Code/archive/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(208): Illuminate\Foundation\Application->bootstrapWith(Array)
#9 /home/vagrant/Code/archive/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(105): Illuminate\Foundation\Console\Kernel->bootstrap()
#10 /home/vagrant/Code/archive/artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 {main}  

现在我不是专家,但我想这一行:

$this->app['router']->filter('fw-block-bl', '\PragmaRX\Firewall\Filters\Blacklist');

负责抛出错误。我最好的猜测是,在5.2.5中可能不推荐使用过滤器,并且不再使用过滤器方法,也可能将其重命名为其他内容。无论哪种情况,我都不知道如何解决这个问题。我没有使用随包装一起提供的过滤器。我已经编写了自己的自定义中间件。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

所以我没有更新到可用软件包的更新版本,而我遇到的更令人沮丧的问题是新软件包捆绑了来自同一用户的旧版本(~0.5)的支持包,我不得不强行更新到支持包的较新版本(~0.6)。

Github issue