php exec如果从浏览器调用则不执行

时间:2012-11-08 18:23:04

标签: permissions exec php

这是stackoverflow中反复出现的主题,但最后我找不到任何明确的解决方案。

我已经在我的本地XAMPP(OS X)上写了这篇PHP文件

test.php的

<?php exec('lpr -MyPrinter photos/image.jpg'); ?>

如果我从终端发送电话,则可以工作

kurt$ php test.php

但是如果我从浏览器上打电话它就不起作用

http://localhost/mysite/test.php

考虑到我的安全要求非常低,因为我将仅在本地使用此脚本用于个人目的。你能告诉我正确的解决方案吗?

1 个答案:

答案 0 :(得分:2)

可能有多种原因,但我建议您查看错误消息。 exec()函数不会返回它,但您可以将错误输出重定向到临时文件:

<?php exec('lpr -MyPrinter photos/image.jpg 2> /tmp/error.txt'); ?>

在浏览器中调用脚本后查看/tmp/error.txt。