1

コマンドラインからDBusにアクセスできるphpコードのごく一部を作成しました。しかし、ブラウザからphpコードを実行すると、dbus部分が機能しません。

ブラウザから DBus にアクセスするには、何かをする必要がありますか?

4

2 に答える 2

0

Web サーバーから呼び出された場合、PHP は必ずしも同じユーザーを使用するとは限らないため、コマンドラインから呼び出された場合と比較して、同じ特権を持ちます。

ブラウザで次のスクリプトを実行してから、コマンド ラインを使用してみてください。

<?php echo exec('whoami'); ?>

これにより、たとえば、ブラウザから実行するとapacheが出力され、CLI から実行するとmyusernameが出力される場合があります。

そのため、Web サーバーが実行しているユーザーの権限を変更して、DBus コマンドを実行できるようにする必要があります。その方法は、OS によって異なります。

詳細なヒントについては、この質問も参照してください: 特定のユーザーとして PHP からコマンドライン アプリケーションを実行する

于 2012-07-04T07:32:06.840 に答える