Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Erweiterungen debuggen

Ein Vorgehen für eine Erweiterung, die nichts tut oder eine Seite kaputt macht - ist sie aktiv, werden ihre Einstellungen gelesen, laden ihre Klassen, sind Caches oder Worker veraltet, mit der RAD-Zustandsprüfung…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-3-extension-developer/debugging-extensions.md

On this page

This page is a translation. Read the English original

Erweiterungen debuggen

Teil 3, Kapitel 35. Die meisten Probleme mit Erweiterungen liegen nicht in dem Code, den Sie geschrieben haben, sondern darin, wie er eingebunden ist: eine Einstellung, die nicht gelesen wird, eine Klasse, die nicht in der Autoload-Zuordnung steht, ein Cache, ein Worker, der noch den Code von gestern ausführt. Dieses Kapitel ist ein Vorgehen, das solche Ursachen schnell findet, gefolgt von den Werkzeugen für echte Fehler.

Das Vorgehen

SchrittBefehlWonach Sie suchen
1. Ist sie aktiv?./console exp:ini get site.ini/ExtensionSettings/ActiveExtensions (ergänzen Sie -s <siteaccess>)Ihre Erweiterung in der Liste
2. Werden ihre Einstellungen gelesen?./console exp:ini where <file>/<Block>/<Variable>Ihre Datei in der Kette, und nichts Späteres, das sie überschreibt
3. Laden ihre Klassen?php bin/php/ezpgenerateautoloads.php -e -v, dann php bin/php/checkclasses.php --quiet-okIhre Klassen gefunden; nichts, was PHP ablehnt
4. Was sagt die RAD-Zustandsprüfung?Setup > RAD (/setup/rad)Einstellungen, die eine Klasse nennen, die sich nicht laden lässt, ein angebotener, aber nicht gefundener Datentyp, eine View ohne Skript, eine Design-Erweiterung ohne Design
5. Caches?php bin/php/ezcache.php --clear-allverschwindet das Problem, war es ein Cache
6. Worker?./console exp:velocity deploy (oder PHP-FPM neu laden)verschwindet das Problem, war alter Code im Speicher
7. Protokolletail -n 50 var/log/error.log und die Debug-Ausgabeder eigentliche Fehler

Schritt 4 wird unterschätzt: expRADHealth::findings() (kernel/setup/expradhealth.php) prüft die gesamte Installation auf Konfiguration, die nicht funktionieren kann, und nennt für jeden Befund die Lösung.

Typische Symptome

SymptomÜbliche Ursache
"The requested module does not exist"ExtensionRepositories[] fehlt, oder Caches
Eine Seite mit Layout, aber leerem Inhaltsbereicheine neue Template-Datei und ein alter Cache der Template-Overrides
Class '...' not foundAutoloads nicht neu erzeugt, oder Worker nicht neu gestartet
Operator '...' is not registeredExtensionAutoloadPath[] fehlt oder die Erweiterung ist nicht aktiv
Object problem with operator '...'die Operatorklasse hat einen Konstruktor im alten Stil oder lässt sich nicht erzeugen
Ein Datentyp fehlt im KlasseneditorAvailableDataTypes[] oder ExtensionDirectories[] fehlt; der Dateipfad
Funktioniert mit php auf der Kommandozeile, nicht im Browserein anderes PHP, oder PHP-FPM / Velocity nicht neu geladen
Eine Schaltfläche tut in der Administration nichtsein Verstoß gegen die Content Security Policy: Öffnen Sie die Konsole des Browsers
Zugriff auf Ihre Seite verweigertdie 'functions' der View und die Rollen des Benutzers: ./console exp:accesscheck

Echte Fehler

  • Debug-Ausgabe: Fehler mit ihrer Template-Datei und Zeile, Zeitmessung, SQL (Debug-Ausgabe und Protokolle für Entwickler).
  • eZDebug::writeDebug()-Zeilen rund um den verdächtigen Code; entfernen Sie sie danach wieder.
  • Ein Skript mit geladenem Kernel, um Ihre Klasse direkt aufzurufen: php bin/php/ezexec.php <script.php>. Die meisten Beispiele in diesem Buch wurden so geprüft.
  • Ein Test, der den Fehler reproduziert, bevor Sie ihn beheben (Tests für Erweiterungen).
  • git bisect im Repository Ihrer Erweiterung findet den Commit, der sie kaputt gemacht hat.
  • Die Fehlerreferenz auf einer Fehlerseite führt zu jeder Protokollzeile dieser Anfrage (Einen Fehler anhand seiner Referenz finden).

"HOWTO Troubleshoot eZ Publish Extensions" in eZpedia behandelt dasselbe Thema aus den früheren Jahren.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x