使用sudo从php运行shell命令

使用sudo从php运行shell命令,php,shell,sudo,Php,Shell,Sudo,我想从php运行这段代码 echo <password> | sudo -S /usr/sbin/asterisk -rx "dongle show devices" echo | sudo-S/usr/sbin/asterisk-rx“加密狗显示设备” 但它不起作用。有人能帮忙吗?您可以在shell字符串周围使用“backtick”字符(`),如: <?php $output = `command_goes_here`; echo $output; ?&g

我想从php运行这段代码

echo <password> | sudo -S /usr/sbin/asterisk -rx "dongle show devices"
echo | sudo-S/usr/sbin/asterisk-rx“加密狗显示设备”

但它不起作用。有人能帮忙吗?

您可以在shell字符串周围使用“backtick”字符(`),如:

<?php
    $output = `command_goes_here`;
    echo $output;
?>


请记住,只有当shell_exec()函数在该服务器上工作时,这才起作用,该服务器也可以以类似的方式使用。

使用php函数shell_exec或exec来执行shell命令

欲知详情

http://www.php.net/shell_exec


如果您想在php文件中运行shell脚本命令,可以尝试使用此命令

$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
$output=shell_exec('ls-lart');
回显“$output”;
您还可以尝试其他方法,为shell脚本创建.sh文件,并通过php函数运行该.sh文件

$output=shell_exec('./deploy.sh');
回显“$output.”;
您的php\u用户(apache?)是否在sudo ers文件中?在发布之前,您可以搜索所有可能的方式
$output = shell_exec('./deploy.sh');
echo "<pre>".$output."</pre>";