Прокси пуст после успешной инициализации

Я использую расширение PECL D-Bus с PHP 5.5 на Ubuntu 14.04 для взаимодействия с Клементиной.

На данный момент я могу подключиться к сеансовой шине (исключения возникают при возникновении любой ошибки), но когда я инициализирую объект прокси, я получаю пустой DbusObject, поэтому я не могу вызвать методы D-Bus.

Вот код, который я использую (вдохновленный примерами использования расширений):

$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-foot, существует ли имя шины, путь к объекту и интерфейс:

Я застрял на два дня.

Редактировать: представленная ошибка в отчете об ошибках PHP.

Редактировать 2: проверено другим методом (Addtrack(string, bool)) с другим путем объекта (/TrackList). Оно работает. Я не понимаю

1 ответ

Решение

В итоге я научился Python правильно использовать D-Bus с помощью модуля dbus (как сказано в вики Клементины).

Я рекомендую всем, кто хочет использовать расширение PHP D-Bus, не делать этого: он глючит, хитр и не имеет документации (кроме примеров сценариев).

Другие вопросы по тегам