PHP和Xvfb用法

时间:2009-03-16 18:34:27

标签: php linux terminal xvfb

我正在尝试在无头服务器上执行firefox来拍摄网站的屏幕截图。我可以使用

从终端做到这一点

“DISPLAY =:12 firefox -saveimage http://www.google.com/”。

问题是当我尝试做系统时(“DISPLAY =:12 firefox -saveimage http://www.google.com”);不起作用。我觉得它不是在正常的shell环境中执行。我违背了我更好的判断,给了apache用户一个真正的shell。如果我对ap​​ache执行并执行命令一切正常并按预期工作,但它再次无法通过系统调用工作。任何见解都是非常受欢迎的。

2 个答案:

答案 0 :(得分:3)

我找到了解决方案。

我只需要创建一个shell脚本来为我调用它。在玩了一段时间之后,我在脚本顶部添加了export HOME="/var/www/"后才开始工作。

我希望这有助于其他人。

答案 1 :(得分:0)

很可能存在一些依赖于您设置为shell用户的环境变量,而httpd的环境无法满足这些变量。然而,在对环境做任何英雄事迹之前,我建议从你的工作中捕获stderr(例如,在其结尾添加 2>/tmp/imgcaperrlog )并查看是否有任何投诉