当我从PHP Google App Engine实例在Google云端存储中创建对象时,所有者的ACL无法设置,从而无法在以后更改缓存控制标头之类的内容。
$options = ['gs' => ['acl' => 'public-read', 'Content-Type' => 'text/plain']];
$ctx = stream_context_create($options);
file_put_contents('gs://my_bucket/file.yadda');
如何从PHP应用引擎设置更详细的ACL设置,而不是使用预定义的云存储ACL魔术设置(public-read,owner-full-read-write等等)?
答案 0 :(得分:0)
最简单的方法是使用存储桶的默认ACL上的设置来使存储桶上的默认ACL成为您想要的。此时,在没有声明ACL的情况下创建的任何内容都将转为默认值。
你甚至不需要在PHP中运行任何东西来完成它。您只需使用与现在相同的代码,不要指定ACL,并使用gsutil通过以下命令自定义默认ACL:
gsutil defacl ch -u my-email@gmail.com:OWNER gs://«my_bucket»
更多信息here