成功初始化后,代理为空

时间:2014-08-07 15:08:03

标签: php ubuntu dbus

我在Ubuntu 14.04上使用PHP {5.5的PECL D-Bus extensionClementine进行交互。

至于现在我能够连接到会话总线(当发生任何错误时异常是throwns),但是当我初始化代理对象时,我得到一个空的DbusObject,所以我无法调用D-Bus方法。

以下是我使用的代码(灵感来自extension usage examples):

$dbus = new Dbus(Dbus::BUS_SESSION);

$clementine_player_proxy = $dbus->createProxy('org.mpris.clementine', '/Player', 'org.freedesktop.MediaPlayer');

var_dump($clementine_player_proxy); // returns "object(DbusObject)#3 (0) {}"

当然,我检查了d-feet是否存在总线名称,对象路径和接口:

enter image description here

我被困了两天。

在PHP bugreport上编辑:submitted bug

编辑2:使用另一个方法(Addtrack(string, bool))和另一个对象路径(/TrackList)进行测试。有用。我不明白。

1 个答案:

答案 0 :(得分:0)

我最终通过dbus module轻松学习Python以正确使用D-Bus(如Clementine's wiki中所述)。

我建议所有想要使用PHP D-Bus扩展程序的人不这样做:它有缺陷,很棘手且没有文档(示例脚本除外)。