【发布时间】:2020-05-07 20:31:51
【问题描述】:
出于特定原因,我需要运行 php exec() 从我的存储桶中获取某些信息。为此,我在我的本地机器和生产服务器上都按照the documentation 安装了 gsutil。虽然在我的本地机器上效果很好,但我不知道为什么它不能在生产环境中运行。 问题是,在我的服务器上使用 SSH 时,我可以使用 gsutil 来获取我不需要的数据。它与身份验证无关,因为我的存储桶当前配置为公共(并且我没有在本地计算机上登录)。
在解决这个问题时,我发现 www-data(linux 用户)无权访问 /root/.config/gcloud,并且我找不到方法 a) 更改文件夹位置或 b) 为 www-data 设置该文件夹的权限(虽然 chmod/chown 有效,但不会更改输出)。
两台机器都运行 Ubuntu,本地使用 19.10,服务器使用 18.04
感谢任何帮助!
【问题讨论】:
-
显示您正在开始
gsutil。请记住,它是一个脚本,因此需要启动一个 shell 才能运行它。 -
您能详细说明您的问题吗?您在生产服务器上遇到什么错误?如果您提供更多详细信息,可能会很容易为您提供帮助。
-
@SamuelRomero 好吧,exec() 什么也不返回,错误代码是 1。当我运行
sudo -u www-data gsutil时,它返回this。 -
@JohnHanley 抱歉,我无法理解您的建议。我正在尝试运行
exec("gsutil dosomething"),它适用于我的本地测试版本 -
gsutil不是程序(可执行文件)。它是批处理或 shell 脚本,具体取决于操作系统。
标签: php google-cloud-platform google-cloud-storage