使用sudo从php运行shell命令
我想从php运行这段代码使用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
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>";