gpt4 book ai didi

php - Illuminate\Contracts\Filesystem\Factory 不可实例化

转载 作者:行者123 更新时间:2023-12-02 04:27:47 30 4
gpt4 key购买 nike

我尝试使用 Laravel 的独立组件。在这种情况下,我尝试使用 illuminate/http 。除了上传后保存文件引发异常之外,它工作正常。

( ! ) Fatal error: Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Filesystem\Factory] is not instantiable. in /var/www/vendor/illuminate/container/Container.php on line 978
( ! ) Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Filesystem\Factory] is not instantiable. in /var/www/vendor/illuminate/container/Container.php on line 978

这是我的引导:

use Illuminate\Http\Request;

/** @var Request $request */
$request = new Request(
$_GET,
$_POST,
[],
$_COOKIE,
$_FILES,
$_SERVER
);

这是我尝试在本地存储上存储表单发布文件的部分:

$request->image->store(APP_PUBLIC.'resources/assets/images/homepage/slider/test.jpg');

我尝试将 Illuminate\Filesystem\Filesystem() 作为 Factory 注入(inject)到 Reqest 对象中,但似乎不起作用。

如何将文件系统工厂注入(inject)到 HTTP 组件中?

最佳答案

我通过正确添加必要的工厂、配置并注册它们来修复它。

composer.json

{
"require": {
"illuminate/validation": "^6.16",
"illuminate/filesystem": "^6.16",
"illuminate/translation": "^6.16",
"illuminate/http": "^6.16",
"illuminate/config": "^6.16",
"jenssegers/blade": "^1.2",
"league/flysystem": "^1.0"
},
}

引导文件管理器:

use Illuminate\Container\Container;
use Illuminate\Contracts\Filesystem\Factory as FilesystemFactory;
use Illuminate\Http\Request;
use Illuminate\Filesystem\FilesystemManager;
use Illuminate\Config\Repository;

$instance = Container::getInstance();
$instance->bind('config', function () use ($instance) {
return new Repository([
'filesystems' => [
'default' => 'local',
'disks' => [
'local' =>[
'driver' => 'local',
'root' => '/absolut/path/to/upload/dir/,
]
]
]
]);
});

$instance->bind(FilesystemFactory::class, function () use ($instance) {
return new FilesystemManager($instance);
});

/** @var Request $request */
$request = new Request(
$_GET,
$_POST,
[],
$_COOKIE,
$_FILES,
$_SERVER
);

关于php - Illuminate\Contracts\Filesystem\Factory 不可实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60391408/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com