[英]php- command does not work with php shell_exec
我想使用php在我的Ubuntu服務器上執行以下命令:
android create project --target 8 --name $fname --path ./$fname --activity MainActivity --package $fpack 2>&1
上面的命令是創建一個Android應用程序項目。 所以當我在我的終端上輸入這個命令然后它工作正常,但是當我通過php執行它時:
<?php
$fname = $_POST['fname'];
$fpack = $_POST['fpack'];
$email = $_POST['email'];
//Creating a new Android project
var_dump(shell_exec("android create project --target 8 --name $fname --path ./$fname --activity MainActivity --package $fpack 2>&1"));
?>
當我運行我的PHP腳本時,我得到以下輸出:
string(26) "sh: 1: android: not found "
當我手動輸入終端(來自用戶的'ashish'帳戶)而不是用PHP時,為什么它可以正常工作? 我的apache用戶和組是相同的(ashish)。 任何幫助將不勝感激 :)
看到這個
http://php.net/manual/en/function.shell-exec.php
http://php.net/manual/en/function.exec.php
shell_exec - 通過shell執行命令並將完整輸出作為字符串返回
exec - 執行外部程序
所以嘗試使用exec()insted shell_exec()
exec(“android create project --target 8 --name $ fname --path ./$fname --activity MainActivity --package $ fpack 2>&1”)
從shell_exec更改為exec為我工作。
我試圖運行一個沒有輸出的腳本......
顯然它有所作為......
也改變主人很重要:
chown www-data:www-data -R <directory>
我不確定在exec參數中包含這個是否有幫助: 2>&1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.