macos+docker 本机环境,PHP 项目,代码跑到阿里云 OSS SDK 的 uploadFile 方法出问题,现象是类似直接卡死,容器内的网站也直接访问不了了,转圈圈,restart 容器恢复访问,但问题依旧,本人菜鸡,追了一宿的代码大概得出以下测试结果,望大神赐教
ps:这项目代码在原 windows 本机环境和线上 centos 环境都没任何问题。
// 首先第三个参数就是传本地文件路径,写成下面这样,$_FILES["file"]['tmp_name'] 就会导致容器好像卡死,这个值一般是 /tmp/phpXXXX
// 而我进入容器手动在 /tmp 目录下创建一个文件比如 touch test,然后第三个参数写 /tmp/test,代码就可以跑通,我就很是纳闷。
$res = $ossClient->uploadFile($config['bucket'], $ossFileName, $_FILES["file"]['tmp_name']);
[20-Feb-2021 20:05:32] WARNING: [pool www] child 9, script '/www/ShengXin/CRM/index.php' (request: "POST /index.php") executing too slow (3.063820 sec), logging
[20-Feb-2021 20:05:32] NOTICE: child 9 stopped for tracing
[20-Feb-2021 20:05:32] NOTICE: about to trace 9
[20-Feb-2021 20:05:32] ERROR: pread() failed: I/O error (5)
[20-Feb-2021 20:05:32] NOTICE: finished trace of 9
刚开始用 docker 做本地环境,菜鸡求教,本菜分析两个原因,一个是文件目录权限的问题很大,很小是 curl 的问题,望大神指条明路
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.