我目前正在尝试使用 Laravel Envoy ( https://laravel.com/docs/5.8/envoy )。它工作正常,但我想通过能够使用Illuminate\Foundation\Application类能够将一些依赖项注入@setupEnvoy 指令(例如检索一些配置或 Eloquent 模型)来更进一步。但是无论我尝试过什么,我都不断收到此错误。我的Envoy.blade.php文件:@servers(['localhost' => '127.0.0.1'])@include('vendor/autoload.php')@setup $laravelApp = include 'bootstrap/app.php'; dump(config('database'));@endsetup@task('foo', ['on' => 'localhost']) ls@endtask任何帮助将不胜感激,谢谢!
2 回答
森栏
TA贡献1810条经验 获得超5个赞
我终于找到了我的问题的根源。它来自未调用的 Laravel 引导程序。它们由内核类而不是应用程序调用。所以,我添加了这个以使其工作:
@servers(['localhost' => '127.0.0.1'])
@setup
define('LARAVEL_START', microtime(true));
$app = require_once __DIR__.'/bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$kernel->bootstrap();
dump(config('database'));
@endsetup
@task('foo', ['on' => 'localhost'])
ls
@endtask
请注意,引导程序不会自动调用,并且因为我不希望在此用例中使用 Artisan,所以我bootstrap手动调用了方法。
无论如何感谢您的帮助!
- 2 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消