Laravel 5.2 服务提供商无法启动
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/36502249/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Laravel 5.2 Service provider not booting
提问by Illes Peter
I have a weird issue with a service provider. I have a ComposerServiceProvider with a dd("I'm loaded");
in the boot()
function. Nothing is happening.
我对服务提供商有一个奇怪的问题。我dd("I'm loaded");
在boot()
函数中有一个 ComposerServiceProvider 。什么都没有发生。
I also have App\Providers\ComposerServiceProvider::class
in config/app.php. I ran composer dump-autoload
several times. Can anybody help?
我App\Providers\ComposerServiceProvider::class
在 config/app.php 中也有。我跑composer dump-autoload
了好几次。有人可以帮忙吗?
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ComposerServiceProvider extends ServiceProvider {
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
dd("I'm loaded");
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
EDIT: Here's my bootstrap/cache/services.php, where it also does not appear, even after php artisan clear-compiled
编辑:这是我的 bootstrap/cache/services.php,它也没有出现,即使在 php artisan clear-compiled 之后
<?php return array (
'providers' =>
array (
0 => 'Illuminate\Auth\AuthServiceProvider',
1 => 'Illuminate\Broadcasting\BroadcastServiceProvider',
2 => 'Illuminate\Bus\BusServiceProvider',
3 => 'Illuminate\Cache\CacheServiceProvider',
4 => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
5 => 'Illuminate\Cookie\CookieServiceProvider',
6 => 'Illuminate\Database\DatabaseServiceProvider',
7 => 'Illuminate\Encryption\EncryptionServiceProvider',
8 => 'Illuminate\Filesystem\FilesystemServiceProvider',
9 => 'Illuminate\Foundation\Providers\FoundationServiceProvider',
10 => 'Illuminate\Hashing\HashServiceProvider',
11 => 'Illuminate\Mail\MailServiceProvider',
12 => 'Illuminate\Pagination\PaginationServiceProvider',
13 => 'Illuminate\Pipeline\PipelineServiceProvider',
14 => 'Illuminate\Queue\QueueServiceProvider',
15 => 'Illuminate\Redis\RedisServiceProvider',
16 => 'Illuminate\Auth\Passwords\PasswordResetServiceProvider',
17 => 'Illuminate\Session\SessionServiceProvider',
18 => 'Illuminate\Translation\TranslationServiceProvider',
19 => 'Illuminate\Validation\ValidationServiceProvider',
20 => 'Illuminate\View\ViewServiceProvider',
21 => 'App\Providers\AppServiceProvider',
22 => 'App\Providers\AuthServiceProvider',
23 => 'App\Providers\EventServiceProvider',
24 => 'App\Providers\HelperServiceProvider',
25 => 'App\Providers\RouteServiceProvider',
26 => 'C4studio\EmailCssInliner\EmailCssInlinerServiceProvider',
27 => 'Collective\Html\HtmlServiceProvider',
28 => 'Radic\BladeExtensions\BladeExtensionsServiceProvider',
),
'eager' =>
array (
0 => 'Illuminate\Auth\AuthServiceProvider',
1 => 'Illuminate\Cookie\CookieServiceProvider',
2 => 'Illuminate\Database\DatabaseServiceProvider',
3 => 'Illuminate\Encryption\EncryptionServiceProvider',
4 => 'Illuminate\Filesystem\FilesystemServiceProvider',
5 => 'Illuminate\Foundation\Providers\FoundationServiceProvider',
6 => 'Illuminate\Pagination\PaginationServiceProvider',
7 => 'Illuminate\Session\SessionServiceProvider',
8 => 'Illuminate\View\ViewServiceProvider',
9 => 'App\Providers\AppServiceProvider',
10 => 'App\Providers\AuthServiceProvider',
11 => 'App\Providers\EventServiceProvider',
12 => 'App\Providers\HelperServiceProvider',
13 => 'App\Providers\RouteServiceProvider',
14 => 'C4studio\EmailCssInliner\EmailCssInlinerServiceProvider',
15 => 'Radic\BladeExtensions\BladeExtensionsServiceProvider',
),
'deferred' =>
array (
'Illuminate\Broadcasting\BroadcastManager' => 'Illuminate\Broadcasting\BroadcastServiceProvider',
'Illuminate\Contracts\Broadcasting\Factory' => 'Illuminate\Broadcasting\BroadcastServiceProvider',
'Illuminate\Contracts\Broadcasting\Broadcaster' => 'Illuminate\Broadcasting\BroadcastServiceProvider',
'Illuminate\Bus\Dispatcher' => 'Illuminate\Bus\BusServiceProvider',
'Illuminate\Contracts\Bus\Dispatcher' => 'Illuminate\Bus\BusServiceProvider',
'Illuminate\Contracts\Bus\QueueingDispatcher' => 'Illuminate\Bus\BusServiceProvider',
'cache' => 'Illuminate\Cache\CacheServiceProvider',
'cache.store' => 'Illuminate\Cache\CacheServiceProvider',
'memcached.connector' => 'Illuminate\Cache\CacheServiceProvider',
'command.cache.clear' => 'Illuminate\Cache\CacheServiceProvider',
'command.clear-compiled' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.auth.resets.clear' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.config.cache' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.config.clear' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.down' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.environment' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.key.generate' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.optimize' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.route.cache' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.route.clear' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.route.list' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.tinker' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.up' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.view.clear' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.app.name' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.auth.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.cache.table' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.console.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.controller.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.event.generate' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.event.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.job.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.listener.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.middleware.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.model.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.policy.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.provider.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.queue.failed-table' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.queue.table' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.request.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.seeder.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.session.table' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.serve' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.test.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.vendor.publish' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'Illuminate\Console\Scheduling\ScheduleRunCommand' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'migrator' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'migration.repository' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.migrate' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.migrate.rollback' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.migrate.reset' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.migrate.refresh' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.migrate.install' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.migrate.status' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'migration.creator' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.migrate.make' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'seeder' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.seed' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'composer' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.queue.failed' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.queue.retry' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.queue.forget' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'command.queue.flush' => 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
'hash' => 'Illuminate\Hashing\HashServiceProvider',
'mailer' => 'Illuminate\Mail\MailServiceProvider',
'swift.mailer' => 'Illuminate\Mail\MailServiceProvider',
'swift.transport' => 'Illuminate\Mail\MailServiceProvider',
'Illuminate\Contracts\Pipeline\Hub' => 'Illuminate\Pipeline\PipelineServiceProvider',
'queue' => 'Illuminate\Queue\QueueServiceProvider',
'queue.worker' => 'Illuminate\Queue\QueueServiceProvider',
'queue.listener' => 'Illuminate\Queue\QueueServiceProvider',
'queue.failer' => 'Illuminate\Queue\QueueServiceProvider',
'command.queue.work' => 'Illuminate\Queue\QueueServiceProvider',
'command.queue.listen' => 'Illuminate\Queue\QueueServiceProvider',
'command.queue.restart' => 'Illuminate\Queue\QueueServiceProvider',
'queue.connection' => 'Illuminate\Queue\QueueServiceProvider',
'redis' => 'Illuminate\Redis\RedisServiceProvider',
'auth.password' => 'Illuminate\Auth\Passwords\PasswordResetServiceProvider',
'auth.password.broker' => 'Illuminate\Auth\Passwords\PasswordResetServiceProvider',
'translator' => 'Illuminate\Translation\TranslationServiceProvider',
'translation.loader' => 'Illuminate\Translation\TranslationServiceProvider',
'validator' => 'Illuminate\Validation\ValidationServiceProvider',
'validation.presence' => 'Illuminate\Validation\ValidationServiceProvider',
'html' => 'Collective\Html\HtmlServiceProvider',
'form' => 'Collective\Html\HtmlServiceProvider',
'Collective\Html\HtmlBuilder' => 'Collective\Html\HtmlServiceProvider',
'Collective\Html\FormBuilder' => 'Collective\Html\HtmlServiceProvider',
),
'when' =>
array (
'Illuminate\Broadcasting\BroadcastServiceProvider' =>
array (
),
'Illuminate\Bus\BusServiceProvider' =>
array (
),
'Illuminate\Cache\CacheServiceProvider' =>
array (
),
'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider' =>
array (
),
'Illuminate\Hashing\HashServiceProvider' =>
array (
),
'Illuminate\Mail\MailServiceProvider' =>
array (
),
'Illuminate\Pipeline\PipelineServiceProvider' =>
array (
),
'Illuminate\Queue\QueueServiceProvider' =>
array (
),
'Illuminate\Redis\RedisServiceProvider' =>
array (
),
'Illuminate\Auth\Passwords\PasswordResetServiceProvider' =>
array (
),
'Illuminate\Translation\TranslationServiceProvider' =>
array (
),
'Illuminate\Validation\ValidationServiceProvider' =>
array (
),
'Collective\Html\HtmlServiceProvider' =>
array (
),
),
);
回答by Illes Peter
Got an answer on another forum from rodrigo.pedra:
从 rodrigo.pedra 的另一个论坛上得到了答案:
php artisan config:clear
php artisan clear-compiled
The first will clear any cached config files, and the later will clear the services cache
第一个将清除所有缓存的配置文件,后者将清除服务缓存
回答by Linek
You said you tried php artisan clear-compiled
and composer dump-autoload
but have you tried running all those commands?
您说您尝试过 php artisan clear-compiled
,composer dump-autoload
但是您是否尝试过运行所有这些命令?
php artisan clear-compiled
composer dump-autoload
php artisan optimize
回答by Murwa
I had a weird issue as well: with deferred providers, until I saw this
我也有一个奇怪的问题:延迟提供者,直到我看到这个
To defer the loading of a provider, set the defer property to true and define a provides method. The provides method returns the service container bindings that the provider registers:
要延迟提供程序的加载,请将 defer 属性设置为 true 并定义提供方法。提供方法返回提供者注册的服务容器绑定:
回答by Attila Fulop
In case your ServiceProvider class implements the boot()
method, make sure you're invoking the parent::boot()
method as well.
如果您的 ServiceProvider 类实现了该boot()
方法,请确保您也在调用该parent::boot()
方法。
At least in my case (Laravel 5.3.6) the missing parent::boot()
has prevented the service provider from booting properly.
至少在我的情况下(Laravel 5.3.6),缺少的东西parent::boot()
阻止了服务提供者正确启动。