2012-03-28 18 views
0

私のローカルubuntuマシンでは、PHPスクリプトからzenityというメッセージをポップアップしたいと思います。 ので、私は置く:phpから実行する

exec("zenity --info --text 'TEST' "); 

を何も起こりません。 シェルで入力したときに同じ行がうまく動作します。 --displayパラメータを異なる組み合わせで追加しようとしましたが運がありませんでした。

安全性の理由からexecコマンドを何らかの形で有効にする必要があるかもしれないと考えましたか? または何が間違っていますか?

おかげ

+0

安全モードはオフですか?チェックしない場合は、[safe_mode_exec_dir](http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir)が正しく設定されているかどうかを確認してください。 – stewe

+0

はい、セーフモードはオフです。 exec( 'ls');うまく動作します。ありがとう – Henry

答えて

0

は、端末(PHPのCLI)またはmod_phpをからこのですか?これは端末上のマシンでうまくいくようです。これがサーバーボックスであれば、PHPが強化されている可能性が高いです。 php.iniを確認してください。

ブラウザで実行されるPHPスクリプトからzenityを使用しようとしている場合、これはまったく別の話です。 PHPインタプリタは別のユーザとして実行されるので、このユーザがXセッションでプログラムを実行できることを確認する必要があります。 xauthをチェックし、Xorgがどのようにセッションを認証するかを読んでください。しかし、変更があった場合のセキュリティへの影響を考慮してください。

+0

php -r 'exec( "zenity --info --text TEST");'端末から正常に実行されますが、ブラウザで実行されるスクリプトでは実行されません。サーバー設定はインストールのデフォルトです。 php.iniファイルが私に迷惑をかけているファイルを解読しようとします。ありがとう! – Henry

+0

php.iniはうまく見えます。他のコマンド(ls)は、ブラウザからexecとして正常に実行されます。まだ優しさで切り詰める。 – Henry

+0

もう少し複雑です。私は答えを更新しました。うまくいけば、それはあなたを正しい方向に向けるでしょう。 – cosmix

関連する問題