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