PHP执行Bash脚本只返回黑色屏幕截图
问题描述:
您可能熟悉websnapr.com等网站缩略图服务。PHP执行Bash脚本只返回黑色屏幕截图
我目前正在处理类似于不同目的的东西,所以我很需要一个服务器,它会启动一个带有url的webbrowser截取屏幕截图并转到下一个。
这是我用的bash script.sh 'http://google.nl' /var/www/images/google.png
#! /bin/bash
export DISPLAY=":4"
killall firefox-bin
/usr/bin/firefox --display :4 "$1" &
/bin/sleep 20
xte "key F11"
/bin/sleep 3
/usr/bin/import -window root -display :4 "$2"
/bin/sleep 3
killall firefox-bin
执行bash脚本,我已经通过运行的Xvfb “的Xvfb:4 -screen 0 1024x768x24 &”
通过ssh或只是在标准用户的终端上运行一段时间,但是当我试图通过像PHP执行它的脚本正常工作:
exec('bash /var/scripts/test.sh "http://google.nl" /var/www/char.png');
我得到的是一个1024x768的全黑屏幕截图,当在apache的错误日志中查看时,我发现当它在主用户下运行时(不允许killall firefox),即使关闭它也不能启动一个(不发出错误)。
任何想法有什么不对?理想情况下,因为它对我的主用户有效,它只是希望能够以该用户而不是www-data用户的身份执行它,安全性不是问题,因为不会直接连接到该服务器(仅通过另一台服务器同一个网络)。
问题是,我确实需要渲染Flash内容,据我回忆,那些是他们不支持的内容? (指的是cutycapt) – M0rph3v5 2010-11-21 20:04:26
+1表示CutyCapt,我正要推荐相同的。 – icanhasserver 2010-11-21 20:17:02
@ M0rph3v5:试试吧,让我们知道。虽然我不明白为什么Flash内容不应该呈现。 – tokland 2010-11-21 20:21:34