Skip to main content


Probleme mit Relay (und vermutlich weitere Noob-Schwierigkeiten)


!Friendica Support

Hello all (sofern hier gegrüßt wird). Schon jetzt vielen Dank für Verständnis und Geduld.

Ich habe eine eigene Friendica-Instanz aufgesetzt, weil ich mich in keiner existierenden wiedergefunden habe (und aus Interesse, da es ja nicht schwerer sein sollte als ein Wordpress zu installieren).

Es funktioniert soweit, allerdings kann ich keine relays hinzufügen. Ich komme mit der SSH auf den Server, aber schon "bin/console relay" liefert Fehlermeldungen. Vielleicht ist ein Anhaltspunkt, dass ich beim Aufruf eine "permission denied" bekomme, und erst bei 744 Berechtigungen für bin/console der Befehl ausgeführt wird.

Die Fehlermeldung entspricht dieser: https://github.com/friendica/friendica/issues/11499 , zuerst die deprecated und dann der Fatal error mit der selben line. Unterschiedliche PHP-Versionen scheinen aber keinen Unterschied zu machen bei mir.

Weitere Infos gerne - Merci schon einmal.
Welche PHP-Version benutzt Du auf der Kommandozeile?
Ah, I see the problem. In der Hosting-Oberfläche habe ich PHP7.4 eingestellt, aber php -v in der ssh gibt 8.1.7 (cli) zurück.
Im Moment unterstützen wir bis 8.0.
Alright. Als Ahnungsloser habe ich einmal eine simple Version versucht, nämlich über alias + Pfad zu PHP Version die Version geändert. (php -v gibt andere Version aus)

Mit 8.02 und 7.4 kommen dieselben Fehlermeldungen. :/
Dann poste hier mal genau die Fehlermeldungen.
#5 #4 #1 #2 #3 #8 #6 #7
This entry was edited (2 years ago)
Mach mal php bin/console.php relay
#5 #4 #1 #2 #3 #6
@cp hoelzchen Oh, bitte editiere deinen Post und Kommentar und verwende den code-Tag, um Logbuchmeldungen zu formatieren.
Dann stimmt etwas mit Deinen Pfaden nicht. Bist Du im Ordner /solchefreu.de/httpdocs/friendica wenn Du es aufrufst?
Bin ich! Hm, dachte grade einen Moment, es könnte an der "Alias-Lösung" liegen, dass die ja den Ordner wechselt. Aber derselbe Fehler ist ja (zwischen den "deprecated") auch mit PHP 8.1 aufgetaucht.
Was wechselt den Ordner?
Ah, doch nicht, grade nochmal ausprobiert. Ich dachte, als ich alias php='/usr/local/php74/bin/php' probiert hätte, wäre ich am Ende im entsprechenden Ordner gewesen in der Shell, aber dem ist nicht so.
Du kannst auch auch /usr/local/php74/bin/php console.php versuchen.
... selbes Ergebnis. :(
PS: habe nachgeschaut, static/dbstructure.config.php existiert auf dem Server.
@cp hoelzchen Bitte habe immer nur EINE PHP-Version installiert, das macht das Debuggen einfacher. Ja, manchmal muss noch alte Software alte PHP-Versionen benutzen und neue Software laeuft mit der alten Version von PHP nicht mehr. :-(
Sorry, die unterschiedliche PHP-Version in der Shell geht auf das Konto des Hosters. Ich hatte alles auf 7.4 gesetzt, weil das mein Eindruck war, dass es da auf jeden Fall laufen sollte? Besser 8?
@cp hoelzchen Ah, das ist Mist, dass du es nicht wirklich beeinflussen kannst. Ich selber habe PHP 8 nicht, sondern 7:

Server: PHP 7.3.29-1~deb10u1 (cli)
Home: PHP 7.4.21 (cli)

Meine Erfahrung bis jetzt hat gezeigt, dass zu neue Major-Releases (5/7/8) einfach noch zu neu sind und oefters ich besser mit einer etwas aelteren Version bedient war. :-)

Und um deine Frage zu beantworten: Ja, unter 7.4 sollte es definitiv klappen.
@cp hoelzchen PHP 8.0 funktioniert inzwischen. PHP 8.1 noch nicht, da gibt es noch einige Baustellen. PHP 8 ist von der Performance besser als die 7.4.
... ich habe einmal alles auf 7.4 gesetzt, weil es so klang dass das auf jeden Fall klappen sollte, aber 8 ebenfalls getestet.
... d.h. der Zwischenstand ergibt: Ich habe vermutlich irgendwie ein Problem mit den Pfaden, und es hat überhaupt nichts mit den PHP-Versionen zu tun? Hätte jemand noch eine Idee, wo ich das Problem angehen könnte?
@cp hoelzchen Wenn ich es richtig verfolgt habe, zeigt php auf eine 8er Version? Da kannst du mit einem Alias auch wenig machen. Die meisten Linux-Distributionen haben dann Versionsnummern im Dateinamen mit drinne, also musst du mit [cdoe]php7.4 ./bin/console relay[/code] aufrufen (falls es den Namen gibt). Bei mir z.B. gibt es php7.3.
This entry was edited (2 years ago)
@cp hoelzchen Bitte gucke mal folgenden Wert nach:
SELECT `v` FROM `config` WHERE `cat`='system' AND `k`='basepath'
Falls da eine Zeile kommt, ist diese eventuell falsch gesetzt. Bitte dann diese einfach loeschen. Bei mir kommt kein Ergebnis und der Basispfad wird auch sauber erkannt.

Ich wollte hiermit nur eine weitere Fehlerquelle ausklammern, dass in der Datenbank noch ein alter/falscher Wert steht.
This entry was edited (2 years ago)
Es kommt auch bei mir kein Ergebnis zurück. Habe auch sonst herumgesucht, aber finde nirgendwo falsche Pfade, auch wenn es danach riecht. Hach, ich hab einfach zu wenig Ahnung.
Ich habe noch einmal etwas in den Configs herumgestochert und etwas ausprobiert: Der Basepath in der config/local.config.php enthält bei mir einen langen Provider-"Vorspann" (/var/www/vhosts....). Wenn ich diesen entferne, dann scheint die console.php zu funktionieren mit /usr/local/php74/bin/php bin/console.php - also ein Pfad-Problem, wie @Michael Vogel oben vermutet.

Dann zeigen sich nur zwei Folgeprobleme:
1. Zum einen funktioniert mit dem gekürzten Basedir die eigentliche Seite nicht mehr.

2. Zum anderen kann ich trotzdem keinen relayserver hinzufügen (z.B. /usr/local/php74/bin/php bin/console.php relay add https://relay.libranet.de/actor --> couldn't be added).
@cp hoelzchen@Michael Vogel Ich denke mal, dass dein Hoster wo Mist gebaut hat. Es kann nicht sein, dass wenn du ueberall 7.4 einstellst, dennoch 8.x kommt. Aber irgendwie muessen wir das geloest bekommen.