Прокси пуст после успешной инициализации
Я использую расширение 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, не делать этого: он глючит, хитр и не имеет документации (кроме примеров сценариев).