繁体   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