2015-11-02 281 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。 –

回答