![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
.shから
php test.php
とし、以下のスクリプトをroot権限としてcrontab経由で実行しています。
<?php
$CapAddr = 'http://google.com';
system('firefox -display :1 -remote "openurl(' . $CapAddr . '), new-window"');
?>
ところが、ssh接続したターミナル上でimportコマンドで画面のキャプチャを取得して開いてみると
指定したページが表示されていません。吐いているエラーを見ると、
(firefox-bin:6340): Gtk-WARNING **: cannot open display:
となり、実行に失敗しています。
ssh接続した所で直に打ち込めば何ら問題なく言うことを聞いてくれるのですが、
shell script上で
php /home/htdocs/WebPageCapture.php
とするとまたしても同じエラーを吐きます。
次はやり方を変えて、呼び出さずに直接CLI版のPHPを動かす方法を試しました。
#!/usr/bin/php
<?php
で始まる、同一のコードです。
すると再び、同じ
(firefox-bin:7802): Gtk-WARNING **: cannot open display:
のエラーが発生してます。
terminalで同じ事をすると上手く行くだけに困っています。
お力を貸していただけませんでしょうか、よろしくお願いいたします
接続元:Mac OSX Tiger
接続先サーバ環境:CentOS4.2
# ps ax | grep Xvfb
/usr/X11R6/bin/Xvfb :1 -screen 0 1024x2048x24
No.1ベストアンサー
- 回答日時:
これで上手くいくかどうかは知りませんが、
>cannot open display:
と言っているようだから、
>system('firefox -display :1 -remote "openurl(' . $CapAddr . '), new-window"');
の前に
putenv("DISPLAY=:1.0");
してみるというのはどうでしょう。
なるほど、さすがです。出来ました。
phpからは環境変数をなぜか取ってきてくれないようですね・・・。
export DISPLAY=:1.0
とした後にapacheと一緒に動き出しているphpを再起動していなかったので
/etc/init.d/httpd restart
とするともしかすると環境変数を読み取ってくれるのかもしれませんが。
ひとまず、うまくいきました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- PHP phpの imap_search で漢字コード 1 2022/09/06 17:32
- PHP WordpressのPHPを安全に編集する方法 1 2022/08/04 01:43
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sformmmail2を使ったお問い合わ...
-
ImageCreate関数が undefined f...
-
値の受け渡しが出来ない。
-
PHP認証がProxy越しだと通らな...
-
セッションを使ったログインペ...
-
PHPでのAmazonAPI認証スクリプ...
-
仮想フレームバッファXvfb上でf...
-
onedrive にexcelファイルをア...
-
CFileDialogの最初のディレクト...
-
透過PNGが透過されない!!
-
フォームで戻った際に入力済み...
-
別ファイルの変数を呼び出した...
-
PHPのif文でその処理を途中で抜...
-
phpの中でphpを書けないか
-
さくらサーバーにて、phpからメ...
-
リンク先を隠す方法はないでし...
-
フォントの色を変えるには?
-
VBSの「MsgBox」について
-
inputタグでphpを呼び出す際、...
-
PHPで新しいウインドウで開く命...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ImageCreate関数が undefined f...
-
PHPMailerのサンプルコードのエ...
-
pdflib /pdi の拡張関数が有効...
-
php.exeが強制終了されてしまう
-
mb_language("Japanese");でエ...
-
marty3のvariableFilter
-
php5のrename()は日本語をリネ...
-
PHP Auth認証ができない
-
よくわかるPHPの教科書のエラー...
-
CodeIgniter/index.phpにアクセ...
-
PHPでのAmazonAPI認証スクリプ...
-
【初歩】 極単純なFOR文がなぜ...
-
POSTした値を、別ページにもPOS...
-
sql文について質問です。エラー...
-
yahoo API のエラー
-
PHPとAPACHEのエラー「Warning:...
-
MAMPでsqlをインポートできない
-
sformmmail2を使ったお問い合わ...
-
仮想フレームバッファXvfb上でf...
-
PHP認証がProxy越しだと通らな...
おすすめ情報