您可能熟悉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