[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 メーリングリストの案内