2015-11-02 285 views
-1

我们可以使用shell_exec()命令从PHP运行shell命令。 当我尝试运行时从PHP运行gcloud命令

shell_exec('ls') 

它给出文件和文件夹的列表。

我想使用shell_exec来获取Google云中的实例列表。

我使用

shell_exec('gcloud compute instances list') 

它不会产生任何结果。当我在终端上运行相同的命令'gcloud compute instances list'时,它会显示项目下的所有实例。

任何人都可以请告诉我如何做到这一点?

+0

尝试使用“执行”,并加入“2>&1”到命令的结尾看到被抛出什么样的错误。 我的猜测是这是一个使用命令行gcloud的身份验证问题。 –

+0

它不会给出任何错误。当我从命令行尝试相同的命令时,它工作正常。当我尝试从PHP文件运行相同的命令时,它显示一个空白页面(没有错误)。 –

+0

当我使用php运行命令行工具时,我得到 权限错误 - gcloud想要在我的webroot中编写一个.config文件夹。 “更正”更宽泛的设置权限。 身份验证失败 - gcloud需要使用gcloud身份验证登录进行登录,无法轻松地通过服务器端的无头呼叫完成。 我同意Jeffrey Rennie,你最好使用REST API。 –

回答