TTRSS, external API und ttrs-reader (Android) unter CentOS5 zum Laufen bekommen

Für TTRSS gibt es eine TTRSS-Reader-Applikation für Android, um auf dem mobilen Gerät auf die gleiche Datenbasis zuzugreifen. Dazu muß die External-Javascript-API in den TTRSS-Einstellungen aktiviert werden. Leider geht der erste Versuch schief und auf Android wird die folgenden Fehlermeldung angezeigt:

I was unable to connect to your Tiny Tiny RSS instance, please check
your connection and/or connection settings.
Error details:
A JSONObject text must begin with "{" at character 0 of

In dem Server-Log (in dem Fall Apache) sind folgende Einträge zu sehen:

"POST /ttrss/api/?op=login&user=admin&password=*** HTTP/1.1" 200

Passwort/Username ist dabei durchaus korrekt. Ruft man testweise die API auf z.B. mit http://server.de/ttrss/api/?op=getCategories&sid=hiersid (hiersid aus dem Browser-Cookie kopieren) erscheint eine leere Seite.

Auf die Ursache kommt man der Angelegenheit, wenn man in das PHP-Fehlerlog unter /var/log/http/error_log schaut . Dort sieht man dann Einträge der Art Call to undefined function json_encode() in /var/www/html/ttrss/api/index.php on line 68 .

Das hat damit zu tun, daß die JSON-Funktionen wie json_decode erst mit PHP-Versionen >= 5.2.0 verfügbar sind, CentOS5 aber nur 5.1.6 installiert hat.

Die Lösung des Problems war das Paket php-pecl-json zu installieren. Es ist erhältlich in dem EPEL5-Repository. Damit konnte ttrss-android endlich auf die TTRSS-Installation zugreifen.

Es gibt übrigens seit ein paar Tagen eine geforkte Version ttrss-reader-forked, welches aktiv entwickelt wird.