执行时
s3cmd put --acl-public --guess-mime-type /html/file.png s3://bucket/files/file.png
通过putty中的cmd它完美无缺,但是当我尝试通过PHP执行此操作时:
system("s3cmd put --acl-public --guess-mime-type /html/file.png s3://bucket/files/file.png");
答案 0 :(得分:1)
我将推荐查看Apache日志文件,但我会打赌这是一个权限问题(我遇到了这个问题......)。 Apache(httpd?)是否具有对/html/file.png
和s3://bucket/files/file.png
的读/写权限? s3cmd需要特殊权限吗?你需要使用gksudo吗?
答案 1 :(得分:1)
s3cmd在用户主目录中查找.s3cfg
文件。在您的情况下,apache可能是运行该程序的用户,而apache没有.s3cfg
文件。
您需要再次以想要使用s3cmd的用户身份再次运行。
/usr/bin/s3cmd --configure
答案 2 :(得分:0)
系统命令可能有这么限制,您应该尝试查看error_log,增加error_reporting级别或禁用php.ini中的safe_mode
答案 3 :(得分:0)
有一些问题从php文件(apache用户)执行s3cmd s3cmd无法找到s3cfg文件,我把它放在命令中它工作:
s3cmd -c /var/www/.s3cfg put file...