コマンドラインからDBusにアクセスできるphpコードのごく一部を作成しました。しかし、ブラウザからphpコードを実行すると、dbus部分が機能しません。
ブラウザから DBus にアクセスするには、何かをする必要がありますか?
Web サーバーから呼び出された場合、PHP は必ずしも同じユーザーを使用するとは限らないため、コマンドラインから呼び出された場合と比較して、同じ特権を持ちます。
ブラウザで次のスクリプトを実行してから、コマンド ラインを使用してみてください。
<?php echo exec('whoami'); ?>
これにより、たとえば、ブラウザから実行するとapacheが出力され、CLI から実行するとmyusernameが出力される場合があります。
そのため、Web サーバーが実行しているユーザーの権限を変更して、DBus コマンドを実行できるようにする必要があります。その方法は、OS によって異なります。
詳細なヒントについては、この質問も参照してください: 特定のユーザーとして PHP からコマンドライン アプリケーションを実行する