Markus Michalski FAQ

Plugin Update Checker: Fehlerbehebung

Fehlerbehebung beim Plugin Update Checker: keine Badges, Plugin-Liste lädt langsam oder gar nicht, Rate Limit, falsche Version, Cache leeren, bekannte Einschränkungen und häufige Fragen.

English Version

Zurück zur Übersicht

Plugin Update Checker: Fehlerbehebung

Das Plugin meldet Fehler nicht auf der Oberfläche. Tritt ein Fehler auf, zeigt es einfach kein Badge. Eine Zeile mit [UpdateCheck] im PHP-Fehlerprotokoll des Servers gibt es nur in zwei Fällen: wenn GitHub mit einem anderen HTTP-Status als 200 antwortet (auch ein Verbindungsfehler, der als HTTP 0 erscheint) und wenn das Einfügen der Badges fehlschlägt. Fehlendes cURL, ungültiges JSON und ein Release ohne Tag-Namen bleiben ohne Logzeile. Wo das Protokoll liegt, hängt von deiner PHP-Konfiguration ab.

Keine Badges sichtbar

Prüfe der Reihe nach:

  1. Gibt es überhaupt ein Update? Ein Badge erscheint nur, wenn das neueste GitHub Release eine höhere Version hat als die installierte. Ist alles aktuell, bleibt die Liste unverändert.
  2. Plugin aktiviert? Unter Manage > Plugins muss Plugin Update Checker aktiviert sein und eine aktive Instanz haben.
  3. Richtige Seite? Badges erscheinen nur auf der Plugin-Liste im Admin Panel, nicht auf anderen Seiten.
  4. url im geprüften Plugin? Die plugin.php des Plugins braucht im Feld url einen GitHub-Link. Kein GitHub-Link, kein Check. Siehe Technische Details.
  5. Release statt Tag? Der Entwickler muss auf GitHub ein Release veröffentlicht haben. Ein reiner Tag wird nicht gefunden.
  6. Repository-Name mit Punkt? Namen wie my.plugin erkennt das Plugin nicht.
  7. Privates Repository? Ohne Token (oder bei einem Token ohne Zugriff) liefert GitHub keine Daten. Ein Token ist unter Konfiguration beschrieben.
  8. Fehler gecacht? Nach einer fehlgeschlagenen Abfrage fragt das Plugin eine Stunde lang nicht erneut. Leere den Cache, wenn du das Problem behoben hast.
  9. cURL fehlt? Ohne die PHP-Erweiterung curl fragt das Plugin GitHub nicht ab und schreibt dazu nichts ins Protokoll.
  10. Skript geblockt? Blockiert eine Content Security Policy Inline-Skripte, kann das Badge nicht gesetzt werden. Das Plugin schreibt CSS und JavaScript inline in die Seite.

Plugin-Liste lädt langsam

Bei leerem Cache fragt das Plugin GitHub für jedes geprüfte Plugin nacheinander ab. Ist GitHub vom Server aus nicht erreichbar, kostet jede Anfrage bis zu 5 Sekunden. Prüfe die ausgehende HTTPS-Verbindung zu api.github.com (Firewall, Proxy, DNS). Nach dem ersten Fehlschlag werden die Ergebnisse eine Stunde lang gemerkt, die Liste lädt dann wieder schnell.

Plugin-Liste lädt nicht oder zeigt einen Fehler

Fehlt vendor/autoload.php im Plugin-Ordner, kann das Plugin seine Klassen nicht laden und die Plugin-Liste bricht ab. Erzeuge den Autoloader mit composer install --no-dev im Plugin-Ordner (siehe Installation). Kommst du nicht mehr an die Liste, benenne den Plugin-Ordner vorübergehend um.

Rate Limit

Ohne Token erlaubt GitHub laut Hinweistext des Plugins 60 Anfragen pro Stunde. Bei vielen Plugins und leerem Cache kann das knapp werden. Im Fehlerprotokoll steht dann GitHub API HTTP 403 (oder 429) mit dem Pfad des Repositorys. Lösung: einen GitHub-Token eintragen oder die Cache-Dauer erhöhen. Das Plugin wartet nach einem Fehler ohnehin eine Stunde.

Badge zeigt eine unerwartete Version

Cache leeren

Lösche den Ordner osticket-update-check im PHP-Temp-Verzeichnis des Servers, auf Linux meist:

rm -rf /tmp/osticket-update-check/

Der tatsächliche Pfad ist sys_get_temp_dir() des PHP-Prozesses, der osTicket ausführt, und kann abweichen (zum Beispiel bei einem privaten Temp-Verzeichnis von PHP-FPM). Eine geänderte Cache Duration (hours) wirkt erst auf neu geschriebene Einträge.

Bekannte Einschränkungen

Häufige Fragen

Prüft das Plugin auch seine eigenen Updates? Ja. Die plugin.php des Plugin Update Checkers enthält eine GitHub-URL, daher wird es wie jedes andere Plugin geprüft.

Funktioniert das mit NGINX? Ja. Da CSS und JavaScript inline in die Seite geschrieben werden, braucht es keine Webserver-Regel für Plugin-Dateien.

Was passiert, wenn ich das Plugin deaktiviere? Es werden keine Anfragen mehr gesendet und keine Badges mehr angezeigt. Das Plugin legt keine eigenen Tabellen an. Seine Instanz und Konfiguration bleiben in osTicket erhalten.

Wer sieht die Badges? Jeder, der die Plugin-Liste im Admin Panel öffnen darf.