簡體   English   中英

php-命令不能與php shell_exec一起使用

[英]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.

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