[英]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參數與輸出參數一起出現,則已執行命令的返回狀態將被寫入此變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.