php客户端和浏览器的不同输出
也许我的问题很简单,但我无法回答 我有一个小php代码:php客户端和浏览器的不同输出,php,pipe,Php,Pipe,也许我的问题很简单,但我无法回答 我有一个小php代码: <?php $line="echo 'hello' | lpr -Pmyprinter"; $out=system($line,$output); ?> 尝试使用以下方法: echo `echo hello | lpr -Pmyprinter` web服务器用户是否具有使用打印机的权限?请尝试以apache用户(debian上的www数据)的身份从终端运行脚本,以获取您的评论。是的,我以apache用户的身份从终端执行了
<?php
$line="echo 'hello' | lpr -Pmyprinter";
$out=system($line,$output);
?>
尝试使用以下方法:
echo `echo hello | lpr -Pmyprinter`
web服务器用户是否具有使用打印机的权限?请尝试以apache用户(debian上的www数据)的身份从终端运行脚本,以获取您的评论。是的,我以apache用户的身份从终端执行了脚本(在我的系统中是apache),它工作正常。此外,我还使用了php命令get_current_user()来确保脚本以apache的形式执行。用户是相同的,但web服务器不运行。请尝试将代码放在shell脚本中,然后从php运行该脚本。此外,您的apache环境中可能影响行为的环境变量要少得多;通过这种方式,我可以从终端或浏览器中以相同的结果执行它。无论如何,我的问题是,为什么在使用浏览器执行脚本时忽略管道?谢谢,你好。我刚刚尝试过,结果是一样的,使用php和终端没问题,从web浏览器管道忽略。使用escapeshellarg和/或escapeshellcmd怎么样?