[PHP-users 35283] exec 関数での firefox 起動について
active.shin5 @ kawaguchi-shingo.jp
active.shin5 @ kawaguchi-shingo.jp
2010年 7月 8日 (木) 13:57:16 JST
はじめまして、川口と申します。
指定したURLのウェブ画面のキャプチャ処理をphp,xvfb,firefox,imagemagick
で実装しようとしています。
http://d.hatena.ne.jp/pomo123/20080430/1209532590
などを参考に、
以下のようにしてphp以外でのコマンドレベルでは実行できるようになりました
-------
export DISPLAY=:1.0
Xvfb :1 -screen 0 800x600x24 &
firefox --display=:1.0 -width 800 -height 600 -P webshot &
# webshotプロファイルは作成済み
firefox --display=:1.0 -P webshot --remote "openurl(http://tokyo-ame.jwa.or.jp/,new-window)"
import -display :1 -window root -silent /tmp/test.png
-------
これをPHPで実装しようと思い
バックグラウンドでXvfb と firefoxをコマンド実行で起動させました。(以下そのプロセスです。)
------
www 5420 0.5 0.5 10568 5320 pts/2 S 13:32 0:00 Xvfb :1 -screen 0 800x600x24
www 5426 0.0 0.0 6544 1020 pts/2 S 13:33 0:00 /bin/sh /usr/lib/firefox-3.0.19/firefox -UILocale ja --display=:1.0 -width 800 -height 600 -P webshot
www 5453 0.0 0.1 6000 1068 pts/2 S 13:33 0:00 \_ /bin/sh /usr/lib/firefox-3.0.19/run-mozilla.sh /usr/lib/firefox-3.0.19/firefox-bin -UILocale ja --display=:1.0 -width 800 -height 600 -P webshot
www 5459 10.7 3.8 148512 40216 pts/2 Sl 13:33 0:02 \_ /usr/lib/firefox-3.0.19/firefox-bin -UILocale ja --display=:1.0 -width 800 -height 600 -P webshot
------
次にPHPのexec関数で
firefox --display=:1.0 -P webshot --remote "openurl(http://tokyo-ame.jwa.or.jp/,new-window)"
import -display :1 -window root -silent /tmp/test.png
を実行するのですが、firefoxの画面キャプチャはできるもの
指定のURLの画面ではなく、firefox起動直後の画面のままです。
原因が分かる方、対応方法が分かる方いらっしゃいますか。
サーバー環境は
CentOS 4.8
firefox 3.0.19
PHP 5.2.8
Apache 1.3.41 phpモジュール版
(Apache/phpはソースからインストール)
です。
宜しくお願いいたします。
PHP-users メーリングリストの案内