我正在尝试在无头服务器上执行firefox来拍摄网站的屏幕截图。我可以使用
从终端做到这一点“DISPLAY =:12 firefox -saveimage http://www.google.com/”。
问题是当我尝试做系统时(“DISPLAY =:12 firefox -saveimage http://www.google.com”);不起作用。我觉得它不是在正常的shell环境中执行。我违背了我更好的判断,给了apache用户一个真正的shell。如果我对apache执行并执行命令一切正常并按预期工作,但它再次无法通过系统调用工作。任何见解都是非常受欢迎的。
答案 0 :(得分:3)
我找到了解决方案。
我只需要创建一个shell脚本来为我调用它。在玩了一段时间之后,我在脚本顶部添加了export HOME="/var/www/"
后才开始工作。
我希望这有助于其他人。
答案 1 :(得分:0)
很可能存在一些依赖于您设置为shell用户的环境变量,而httpd的环境无法满足这些变量。然而,在对环境做任何英雄事迹之前,我建议从你的工作中捕获stderr(例如,在其结尾添加 2>/tmp/imgcaperrlog
)并查看是否有任何投诉