簡體   English   中英

如何使php文件執行shell命令

[英]How to make a php file execute shell commands

我使用以下代碼制作了一個php文件來獲取托管在github上的存儲庫中的所有更改:

<?php
`git pull`;
?>

然后,我在github設置中將此php腳本的URL(托管在服務器上)作為服務掛鈎URL。 因此,每當我將某些內容推送到github存儲庫時,它都應對此php文件發出發布請求。 但是,這似乎不起作用。

github幫助頁面上說,他們使用一些薪水將發帖請求發送到相關的URL。 腳本如何執行?

當我在ssh進入網站后從bash提示符執行git pull ,它會拉動所有更改。 該腳本的文件權限當前設置為755。

我需要對PHP進行哪些更改,以使該文件作為Shell腳本執行?

編輯 -我還嘗試過更改相應文件夾的所有權,如下所示:

chown -R apache:apache Test

因此,當對URL發出發布請求時,腳本以我猜為www-data用戶的身份執行,因此腳本可以執行。 但是,當我嘗試這樣做時,我得到一個錯誤:

chown: `apache:apache': invalid group

試試PHP exec()函數

 string exec ( string $command [, array &$output [, int &$return_var ]] )

command =將要執行的命令

output =如果存在output參數,則指定的數組將被命令的每一行輸出填充。 尾隨空格(例如\\ n)不包含在此數組中。 請注意,如果數組已經包含一些元素,則exec()將追加到數組的末尾。 如果您不希望函數追加元素,請在將數組傳遞給exec()之前在數組上調用unset()。

return_var =如果將return_var參數與輸出參數一起出現,則已執行命令的返回狀態將被寫入此變量。

資料來源: http : //php.net/manual/en/function.exec.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM