Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用PHP exec运行gsutil_Php_Google Cloud Platform_Google Cloud Storage - Fatal编程技术网

Can';t使用PHP exec运行gsutil

Can';t使用PHP exec运行gsutil,php,google-cloud-platform,google-cloud-storage,Php,Google Cloud Platform,Google Cloud Storage,出于特定原因,我需要运行php exec()从我的bucket中获取某些信息。为此,我在本地机器和生产服务器上安装了gsutil following。虽然在我的本地机器上它发挥了神奇的作用,但我不明白为什么它不能在生产上运行。 问题是,在我的服务器上使用SSH时,我可以使用gsutil获取我需要的数据,而不会出现任何问题。它与身份验证无关,因为我的bucket当前配置为public(并且我没有在本地计算机上登录) 在修补这个问题时,我发现www数据(linux用户)无权访问/root/.conf

出于特定原因,我需要运行php exec()从我的bucket中获取某些信息。为此,我在本地机器和生产服务器上安装了gsutil following。虽然在我的本地机器上它发挥了神奇的作用,但我不明白为什么它不能在生产上运行。 问题是,在我的服务器上使用SSH时,我可以使用gsutil获取我需要的数据,而不会出现任何问题。它与身份验证无关,因为我的bucket当前配置为public(并且我没有在本地计算机上登录)

在修补这个问题时,我发现www数据(linux用户)无权访问/root/.config/gcloud,我找不到方法a)更改文件夹位置或b)为www数据设置文件夹权限(chmod/chown工作时,它不会更改输出)

这两台机器都运行Ubuntu,本地使用19.10,服务器使用18.04


感谢您的帮助

尝试使用完整路径运行gsutil,可能gsutil已安装到您的/home/$USER/gsutil,您可以将文件夹复制到/var/www,然后打开www-data-USER的权限并像这样运行exec

exec('python3 /var/www/gsutil/gsutil.py 2>&1', $output, $err);

显示您正在启动
gsutil
。请记住,这是一个脚本,因此需要启动一个shell才能运行它。您能详细说明您的问题吗?生产服务器上出现了什么错误?如果您提供更多详细信息,可能会很容易帮助您。@SamuelRomero好的,exec()不返回任何内容,错误代码为1。当我运行
sudo-u www-data-gsutil
时,它会返回。@JohnHanley抱歉,我无法理解你的建议。我正在尝试运行
exec(“gsutil dosomething”)
,它在我的本地测试构建中工作
gsutil
不是一个程序(可执行)。它是一个批处理或shell脚本,具体取决于操作系统。