Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php客户端和浏览器的不同输出_Php_Pipe - Fatal编程技术网

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代码:

<?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怎么样?