Beiträge von sflick

    Wie gesagt, überschreibt Joomla das error_reporting ggf. Alles andere ist Einstellungssache seitens Server/Hoster. Joomla ignoriert da nichts...

    Es wird in dem unter "error_log" eingestellten Pfad gespeichert, eine PHP-Einstellung, keine Joomla-Einstellung. Das ist nur in Ausnahmefällen im Joomla-Verzeichnis. Vielleicht darfst/kannst du den in die php.ini eintragen(?) Wenn er unter Joomla-Backend > Systeminformationen > PHP-Informationen nicht angezeigt wird, kann dir nur der Hoster sagen, wo es liegt.

    Und wie gesagt, wenn es nichts zu melden gibt, meldet PHP auch nichts und schreibt auch nichts in diese Datei und legt sie erst an, wenns was zu melden gibt. Musst also in deinem PHP-Code einen Fehler einbauen, um das zu testen.

    Super, danke für die Infos. Fehler hatte ich zum testen absichtlich eingebaut, aber es half alles nichts. Dann wende ich mich jetzt wieder an den Support.

    Okay, danke. Aber wie kann man jetzt erklären, dass Joomla! scheinbar die Einstellungen aus der php.ini nicht nimmt/sieht? Kann das am Hoster liegen?

    Nein, Joomla überschreibt nichts. Da die Logfiles außerhalb vom Root liegen, hat Joomla darauf keinen Zugriff.
    Die Aussage vom Hoster ist also nicht richtig.

    Joomla macht aber auch keine eigenen Logfiles. Debugging ist eine Ausgabe im FE oder BE im Bereich debug und keine entsprechenden Files.

    Evtl. kannst Du damit was anfangen:
    https://extensions.joomla.org/extension/errorlog/

    https://extensions.joomla.org/extension/loggie/

    Hallo,

    ich denke der Support bezog sich da auf die Einstellungen in der php.ini. Und tatsächlich zeigt Joomla! auch folgendes bei den PHP-Infos an:

    error_log = no value

    log_errors = Off

    Er nimmt also nicht die Einstellungen von der php.ini oder er überschreibt sie. Abgesehen davon, dass er die normale php.ini lädt, steht dort auch noch:

    Loaded Configuration File = /etc/php-fpm/php.ini

    Könnte es damit zusammenhängen? Diese Datei kann ich nicht bearbeiten. Und danke für die Erweiterungen, die schaue ich mir später mal an.


    sflick: Warum machst du diese Einsstellungen? System debuggen macht man ja nur wenn man einen Fehler sucht, nicht? Wenn nichts gezeigt wird ist es ja ein gutes Zeichen.

    Ich wollte schauen, ob Joomla! wenigstens dann ein Logfile generiert. Im normalen Betrieb sind diese Einstellungen nicht aktiviert.

    Hallo,

    es fühlt sich blöd an, das zu fragen. Aber wie aktiviere ich in Joomla! Fehlerprotokollierung in der Art, wie das WordPress macht? Also es sollen alle PHP-Fehler und Warnungen in eine Datei geschrieben werden. Im Front-End soll nichts angezeigt werden. Folgende Einstellungen sind gesetzt, aber kein Log wird erstellt:

    System debuggen: Ja

    Fehler berichten: Maximum

    Protokoll-Verzeichnis: /html/joomla-2020/administrator/logs (Der Pfad ist korrekt)

    Im Web konnte ich überhaupt nichts dazu finden außer ein paar Hinweise, dass die Logs vom Hoster kommen würden. Ich habe dann nach Anleitung des Hosters (in diesem Fall Mittwald) Logging in den Einstellungen von PHP aktiviert. Allerdings wird nie ein Log-File erstellt. Mittwald antwortete darauf, dass diese Einstellung ja von Joomla! überschrieben werden kann. Ist das der Fall?

    Grüße,

    Simon

    Hallo Zusammen,

    seit kurzem werden die Zugriffe auf verschiedener unserer Joomla-Projekte nicht mehr mitgezählt...

    Wir können uns daraus allerdings gerade keinen Reim machen. Uns ist es erst aufgefallen, als neue Beiträge auch nach einiger Zeit noch immer 0 Zugriffe haben.


    Haben wir etwas falsch konfiguriert oder gibt es evlt. ein bekanntes Problem?

    Vielen Dank


    Grüße

    Du kannst nicht einfach den group-Eintrag auf irgendwas ändern und erwarten, dass das was bewirkt bzw., dass das Plugin dann berücksichtigt wird. Du kannst die Reihenfolge der System-Plugins umsortieren im Backend und hast vielleicht Glück. Deines also als erstes.

    Wenn du dann noch ein frühes System-Plugin-Event nimmst, aber Warnung, kein verbotenes für solche Zwecke, ...

    Plugin-Gruppen und -Events müssen im Nicht-Core-Code getriggert werden, also angesprochen werden. Da gibt es eine mehr oder weniger starre Abfolge in Joomla. Wenn du eine eigene Group bzw. eigene Events verwendest, müsstest du also den Joomla-Core "überreden", diesen zuerst auszuführen beim Beladen der Head-Daten.

    Eine Möglichkeit die Head-Daten umzusortieren ist das System-Plugin-Event onBeforeCompileHead. Hier ein Artikel, der das Problem andeutet, NICHT MEHR(!!!)

    https://www.ghsvs.de/programmierer-…mootools-jquery

    Die Dokumentation von Joomla! ist gelinde gesagt dürftig und auch trotz längerem herumprobieren mit onBeforeCompileHead hab ich keinen funktionierenden Code zusammenbekommen.

    Eigentlich wollte ich Cookiebot Template-unabhängig einbinden. Ich hab es jetzt aber durch ein Override einer Template-Datei gelöst.

    Ich ging davon aus dass du eine eigene Extension debuggen möchtest. Dort hinein käme der Code.

    Vielleicht beschreibst du mal genau welche Fehler du debuggen möchtest. Mail-Versand? Bist du sicher dass es überhaupt ein Fehler ist, den Joomla erkennt / verursacht?

    Wir haben eine Reihe an unterschiedlichen Joomla!-Seiten und bei dem Einspielen von Updates geht öfter einmal was schief. Da wäre es dann praktisch, wenn Joomla! Fehler aller Art in ein Log schreiben würde. Egal ob der Fehler im Template ensteht, beim Senden einer Mail oder in einem Plugin dass im Hintergrund werkelt. Optimal wäre dann, dass im Frontend, wenn möglich, ein allgemeiner Fehlertext erscheint, wärend genauere Infos ins Log geschrieben werden.

    Wenn du dir das Browser-Addon installierst, geht das auch mit xdebug.

    Für die Zend-Klamotte (Kostenpflichtig) brauchst du auch ein Addon.

    Wenn ich das richtig verstehe, müsste ich auf dem Server xdebug installieren und einen Eintrag in der php.ini ändern. Das geht alles bei unserem Hosting leider nicht.

    Hallo,

    ich versuche derzeit das Skript von Cookiebot in den Head-Bereich einzufügen. Die Idee war nun, ein Plugin zu erstellen, damit das Skript einzufügen und dieses dann in der Reihenfolge ganz nach oben zu setzen.

    Allerdings kann ich das Plugin nur über andere Schieben, die dieselbe Gruppe ("system") haben. Und das Skript wurde dementsprechend dann in der Mitte des Head-Bereichs eingefügt.

    Ich habe dann die Gruppe auf "anfang" geändert damit mein Plugin ganz oben steht. Allerdings wird seitdem der PHP-Code aus irgendeinem Grund nicht mehr ausgeführt. Kann mir da jemand weiterhelfen?

    Ordnerstruktur

    cookiebot/

        cookiebot.xml

        cookiebot.php

    Grüße,

    Simon

    Ich debugge mit meiener IDE.

    Eigene Logfiles kannst du schreiben wenn du möchtest, ich habe mal eine Anleitung geschrieben.

    Wenn du das debugging einschaltest (Konfiguration) kannst du alles möglich im unteren Bereich des Fensters debuggen.

    Lies hierzu auch https://docs.joomla.org/How_to_debug_your_code

    Danke für die schnelle Antwort! Leider verstehe ich nicht, wo der Code aus der Anleitung hingehört. Muss ich dafür ein eigenes Modul/Plugin schreiben?

    Im Prinzip möchte ich nichts anderes, als dass alle auftauchenden Fehler in ein Logfile geschrieben werden und nicht im Frontend sichtbar sind. Ich bin nämlich aktuell leider darauf beschränkt, Live-Seiten zu debuggen.

    Durch Zufall bin ich im Plugin "System - Debug" auf die Einstellung "Fast alles protokollieren" gestoßen. Diese generiert tatsächlich ein Logfile, jedoch befinden sich darin nur nichtssagende Fehlermeldungen wie z. B.

    Code
    2020-01-16T08:52:33+00:00    CRITICAL 95.88.253.72    error    Uncaught \Throwable of type Error thrown. Stack trace: #0 /html/dev-websites/.../libraries/src/Plugin/PluginHelper.php(253): require_once()
    #1 /html/dev-websites/.../libraries/src/Plugin/PluginHelper.php(182): Joomla\CMS\Plugin\PluginHelper::import(Object(stdClass), true, Object(JEventDispatcher))
    #2 /html/dev-websites/.../libraries/src/Application/CMSApplication.php(622): Joomla\CMS\Plugin\PluginHelper::importPlugin('system')
    #3 /html/dev-websites/.../libraries/src/Application/SiteApplication.php(688): Joomla\CMS\Application\CMSApplication->initialiseApp(Array)
    #4 /html/dev-websites/.../libraries/src/Application/SiteApplication.php(212): Joomla\CMS\Application\SiteApplication->initialiseApp()
    #5 /html/dev-websites/.../libraries/src/Application/CMSApplication.php(195): Joomla\CMS\Application\SiteApplication->doExecute()
    #6 /html/dev-websites/.../index.php(49): Joomla\CMS\Application\CMSApplication->execute()
    #7 {main}


    Das wäre statt Logfiles auch eine Möglichkeit. Den Debug-Bereich unten konnte ich auch schon so konfigurieren, dass nur SuperUser ihn sehen. Allerdings sehen dann alle Website-Besucher die Fehlermeldungen. Außerdem hat man hier auch den Nachteil, dass man keine Fehler sehen kann die z. B. beim Senden von Mails entstehen. Also Code, der nichts im Frontend ausgibt.


    Netbeans-IDE und xdebug

    Ich muss Live-Seiten debuggen. xdebug fällt also leider raus.


    jdbg sieht interessant aus. Damit kann ich zumindest schonmal Kint benutzen.

    Hallo,

    mich würde interessieren, wie Ihr eure Joomla!-Projekte debuggt. Denn in letzter Zeit habe ich ein paar kleine Plugins in WordPress entwickelt und dafür einen relativ einfachen Workflow gefunden. Bei Joomla! ist das bis jetzt aber reine Frustration. Bei WordPress kann man Fehler/Hinweise in ein Logbuch schreiben lassen anstatt sie im Frontend anzuzeigen (Wie geht das bei Joomla?). Außerdem gibt es Plugins wie Debug-Bar und Kint-Debugger, wodurch man super einfach Variablen analysieren kann. Diese erscheinen dann in einem ausklappbaren Menü und auch nur für eingeloggte Administratoren. Gibt es Ähnliches für Joomla?

    Grüße,

    Simon

    Hallo,

    in einem selbst gebauten Modul verwende ich die Zeile JFactory::getApplication()->enqueueMessage('...', 'error'); um einen Fehler auszugeben. Jedoch wird dieser auch angezeigt, wenn in der Joomla! Systemkonfiguration unter Server "Fehler berichten" auf "Keine" steht. Ich wäre jetzt davon ausgegangen, dass die Meldung dann nicht mehr erscheint. Gibt es da einen anderen Befehl dafür? Aktuell hab ich es über den Umweg gelöst, dass im Modul Debugging an- oder ausgeschaltet werden kann. Sehr sauber ist das allerdings nicht.