通过PHP执行Linux多行命令
在腻子我粘贴这些线,它的作品通过PHP执行Linux多行命令,php,ssh,cmd,Php,Ssh,Cmd,在腻子我粘贴这些线,它的作品 cd /usr/local/vpnserver/ ./vpncmd 1 Hub VPN UserGet 34 但是当它尝试在php中使用exec或shell_exec执行此操作时 <?php $x = exec('cd /usr/local/vpnserver/;./vpncmd;1;;;Hub VPN;UserGet 34'); echo $x; ?> 它对我不起作用,因为在./vpncmd之后,它会询问选择1 2 3的问题 我必须输
cd /usr/local/vpnserver/
./vpncmd
1
Hub VPN
UserGet 34
但是当它尝试在php中使用exec或shell_exec执行此操作时
<?php
$x = exec('cd /usr/local/vpnserver/;./vpncmd;1;;;Hub VPN;UserGet 34');
echo $x;
?>
它对我不起作用,因为在./vpncmd之后,它会询问选择1 2 3的问题我必须输入1,然后再次输入2,然后我到达我的位置连接到vpn集线器,并可以查看我的vpn用户详细信息 但我不能在php中实现这一点。
它将如何在php中工作
代码>只能用于分隔命令,它不适用于命令的输入。如果要为命令提供输入,请使用here文档
$x = exec('cd /usr/local/vpnserver/;./vpncmd <<EOF
1
Hub VPN
UserGet 34
EOF');
$x=exec('cd/usr/local/vpnserver/;。/vpncmd我不知道here doc及其工作原理如何使用here doc请您解释一下,确保最后一行的EOF
前面没有空格。另外,我假设vpncmd
从标准输入读取,而不是直接从终端读取。