也许我的问题很简单,但我无法回答它。不同的输出与PHP客户端和浏览器
我这个小PHP代码:
<?php
$line="echo 'hello' | lpr -Pmyprinter";
$out=system($line,$output);
?>
当我用我的命令行执行该代码(我用PHP 5.3.6和Apache 2.2.17的Linux),它在myprinter印有“你好”。
如果我使用我的浏览器执行此代码,它看起来像管道被忽略!
我试着用exec(),passthru()等等,结果是一样的。
感谢您的帮助。
P.S:我以前用PHP 5.1运行这段代码。
执行web服务器用户有权限使用打印机? – 2011-04-28 20:51:31
尝试从终端 – Flask 2011-04-28 21:09:56
运行你的脚本作为apache用户(www-debian上的数据)感谢您的意见。是的,我从终端执行脚本作为apache用户(在我的系统中是apache)并且它工作正常。另外,我使用php命令get_current_user()来确保脚本以apache方式执行。用户是相同的,但是Web服务器不运行。 – gonvi 2011-04-28 22:01:01