【发布时间】:2016-01-25 03:35:56
【问题描述】:
我正在我的一个控制器函数中运行一个 Laravel 应用程序,其中包含这样的代码:
$s3 = Storage::disk('s3');
$s3->put( $request->file('file')->getClientOriginalName(), file_get_contents($request->file('file')) );
我相信 Laravel 在后台使用Flysystem 连接到 s3。尝试执行这段代码时,我收到如下错误:
Laravel 文档并没有让我深入了解这个问题的发生方式/原因。知道这里发生了什么吗?
编辑:经过其他几个 stackoverlflow 线程后:
- fopen fails with getaddrinfo failed
- file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known
似乎问题可能与我的服务器的 DNS 更相关?我在 Linode 实例上的 ubuntu 14.04 上。我使用 Nginx 作为我的网络服务器。
【问题讨论】:
-
给我输出:$request->file('file')->getClientOriginalName(), file_get_contents($request->file('file'))
-
$request->file('file')->getClientOriginalName()返回image.png和file_get_contents($request->file('file'))返回您在错误屏幕截图中的第 13 行看到的长输出 -
试试这个:File::get((string)$request->file('file')) 并添加“使用文件”;在顶部.. 而不是这个:file_get_contents($request->file('file'))
-
我的 SELinux 被禁用
标签: linux laravel amazon-web-services amazon-s3 dns