Php 初始化成功后,代理为空

Php 初始化成功后,代理为空,php,ubuntu,dbus,Php,Ubuntu,Dbus,我在Ubuntu 14.04上使用了与PHP5.5的接口 现在我可以连接到会话总线(发生错误时会出现异常),但是当我初始化代理对象时,会得到一个空的DbusObject,因此我无法调用D-bus方法 以下是我使用的代码(灵感来自: 当然,我检查了总线名称、对象路径和接口是否存在: 我被困了两天 编辑:在PHP bugreport上 编辑2:使用另一个对象路径(/TrackList)的另一个方法(Addtrack(string,bool))进行测试。它起作用了。我不明白。我最终通过学习Pytho

我在Ubuntu 14.04上使用了与PHP5.5的接口

现在我可以连接到会话总线(发生错误时会出现异常),但是当我初始化代理对象时,会得到一个空的
DbusObject
,因此我无法调用D-bus方法

以下是我使用的代码(灵感来自:

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

我被困了两天

编辑:在PHP bugreport上


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

我最终通过学习Python来轻松地正确使用D-Bus(如中所述)


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

您尝试过调用这些方法吗?很久以前我是var_dumping DOMDocument的东西,它没有打印太多数据和方法。是的,测试脚本:你是对的,用另一个方法(Addtrack(string,bool))和另一个对象路径(/TrackList)测试,它可以工作,DbusObject是空的。我查看了Pecl Dbus源文件和头文件,据我所知,它只是将任何“方法调用”直接中继到某个CDBUS库。我想这就是为什么var_dump是空的(因为实际上in没有任何方法(除了construct和1或2个特定于php的其他方法之外))
$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) {}"