我正在运行一个 Laravel 应用程序,在我的 Controller 函数之一中使用如下代码:
$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 作为我的网络服务器。
最佳答案
您的 S3 配置似乎有误,因为它尝试使用 s3.us-standard.amazonaws.com
的主机在我的计算机上也无法解析。您应该验证您是否配置了正确的存储桶 + 区域。
关于linux - AWS s3 文件通过 Laravel 上传失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34984689/