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.
Prüfe der Reihe nach:
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.my.plugin erkennt das Plugin nicht.curl fragt das Plugin GitHub nicht ab und schreibt dazu nichts ins Protokoll.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.
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.
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.
version_compare() nach Entfernen eines führenden v.version in der plugin.php des installierten Plugins stimmt nicht mit der tatsächlich installierten Version überein. Das Plugin vergleicht gegen diesen Wert.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.
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.