我试图将horizon添加到我最新的laravel应用程序中,但是当我使用地平线路径(https://my-app.com/horizon)访问我的url时,我得到了一个404,php artisan routes:list不包含任何通向地平线的路线。我还经营过php artisan route:clear,也没有joy。
我遵循了正式的docs (https://laravel.com/docs/9.x/horizon),所以我执行了以下命令:
composer require laravel/horizonphp artisan horizon:install并编辑配置以使用redis。我现在使用的是当地的环境,所以不需要门(对吗?)我还在使用spatie/权限,因此,在access horizon的许可下,我编辑了HorizonServiceProvider.php文件如下:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Laravel\Horizon\Horizon;
use Laravel\Horizon\HorizonApplicationServiceProvider;
class HorizonServiceProvider extends HorizonApplicationServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
parent::boot();
}
/**
* Register the Horizon gate.
*
* This gate determines who can access Horizon in non-local environments.
*
* @return void
*/
protected function gate()
{
Gate::define('viewHorizon', function ($user) {
return $user->can( 'access horizon' );
});
}
}这应该允许用户在拥有访问权限的情况下拒绝访问(但我是本地用户,所以无论如何都会运行吗?)
我使用了php8.1的laravel 9.23,并启用了redis。我还看到地平线在运行php artisan horizon,然后php artisan horizon:status说,Horizon is running.
我错过了什么吗?因此Horizon正在运行redis,并将其设置为使用队列,在我的路由列表中没有水平路由,如果我访问url,显然会出现404错误。
发布于 2022-08-15 08:43:20
在周末停电和今天早上启动之后,Horizon现在开始工作了!
https://stackoverflow.com/questions/73334939
复制相似问题