0

当用户单击网页上的按钮时,我想在我的服务器上运行一个可执行文件。我可以使用 exec 命令运行可执行文件,但即使我遵循帖子中的说明,程序也会在“nobody”下运行:How to run from PHP a bash script under root user answer by:Riateche

但是可执行文件仍然在“nobody”下运行

我的可执行程序保存在目录中

/opt/lampp/htdocs/project

我的php代码

<?
$variable = 10;
$site_dir = 'project';
echo "<img src ='".exec('/opt/lampp/htdocs/' . $site_dir .'/myProgram '.' '.$_GET['value1'] .' '. $variable )."'>";
?>
4

2 回答 2

0

您没有sudo在命令之前使用关键字:

echo "<img src ='".exec('/opt/lampp/htdocs/' . $site_dir .'/myProgram '.' '.$_GET['value1'] .' '. $variable )."'>";

应该:

echo "<img src ='".exec('sudo /opt/lampp/htdocs/' . $site_dir .'/myProgram '.' '.$_GET['value1'] .' '. $variable )."'>";
于 2012-12-31T04:48:12.210 回答
0

我认为您需要在 sudo users/rules 文件中添加一条规则,以允许您的命令在不输入您或 root 密码的情况下运行。这个链接可能会告诉你如何做到这一点。这里https://help.ubuntu.com/community/RootSudo

于 2014-02-22T02:01:15.257 回答