[Joomla 4.3.2] joomla.php File wird automatisch gelöscht

  • Joomla Version
    4.3.2
    PHP Version
    PHP 8.2.x
    Hoster
    abi88.reisenhofer.de

    Hallo zusammen,

    seitdem ich mehrere Seiten auf Joomla 4.3.2 aktualisiert habe, habe ich auf zwei Seiten das folgende Problem:

    Wenn ich mich nach ein paar Tagen im Backend anmelden möchte, so erhalte ich folgende Fehlermeldung:

    Es ist ein Fehler aufgetreten.

    0 Failed opening required '......./JOM/plugins/authentication/joomla/joomla.php' (include_path='.:/opt/RZphp80/includes')

    Wenn ich via Backup die fehlende Datei joomla.php wieder zurückspiele, dann läuft alles bis sie wieder gelöscht ist.

    Hat jemand eine Idee, was zum Löschen der joomla.php Datei führen könnte?

    Danke für Tipps.

    Viele Grüße

    Frank

  • plugins/authentication/joomla/src/Extensions/joomla.php

    Sollte aber mit Großbuchstaben, das Joomla.php, beginnen. Plugins bekommen eine neue Struktur und eure Beobachtungen sind schon richtig.

    hobbykochma

    Probier das: Fehler finden durch detailliertere Fehlermeldung. Debug-Modus. Call stack.

    Das wurde schon bemängelt, dass neue Struktur u.U. nicht rückwärtskompatibel sein könnte. Wurde aber weggewischt, der Einwand.

  • ich habe die Joomla.php in einer alten Joomla 3 Installation (Backup) an der von hobbykochma beschriebenen Stelle gefunden. bei allen Joomla 4 Seiten

    befindet sich die Joomla.php im Verzeichnis plugins/authentication/joomla/src/Extensions/joomla.php.

    Wurden die beiden Seiten von Joomla 3 auf Joomla 4 migriert? Gab es ggf. Probleme bei der Migration?

    @hobbyhocma: wie Du schreibst, ist das Problem erst nach dem Update auf 4.3.2 aufgetreten... hast Du noch ein Backup einer früheren Version, ggf. könntest Du da mal nachschauen, wo dort die Joomla.php abgelegt wurde?

    Sind nur mal so ein paar Ideen...

  • Wie schon oben gesagt. Das ist nicht strange oder sonderlich. Die ALTE /plugins//authentication/joomla/joomla.php gibt es nicht mehr ab Joomla-Version 4.3.2!!!!!!!!!!!!!! Vollkommen OK so.

    Irgendeine Erweiterung oder Code versucht die Klasse aber zu inkludieren. Ansonsten ist alles in #6 gesagt und ich verabschiede mich ;)

  • Den Pfad plugins/authentication/joomla/src/Extensions/joomla.php gibt es schon seit Joomla 4.3.0, ist dieser Pfad in deiner Joomla 4.3.2 Installation vorhanden?

    Wenn ja, kommt der falsche Pfad wahrscheinlich aus deiner Erweiterung in /opt/RZphp80/includes.

    Gruß Gindi

  • Hallo Re:Later

    So,,,ich hab den Fehler mit Stacktrace reproduziert:

    Ist das hilfreich?

    Es ist ein Fehler aufgetreten.

    Zitat
    0 Failed opening required '/mnt/web217/e2/85/5210985/htdocs/abi/JOM/plugins/authentication/joomla/joomla.php' (include_path='.:/opt/RZphp80/includes')
    Call stack
    #FunctionLocation
    1()JROOT/plugins/authentication/email/email.php:19
    2plgAuthenticationEmail->__construct()JROOT/libraries/src/Extension/ExtensionManagerTrait.php:242
    3Joomla\CMS\Application\CMSApplication->loadPluginFromFilesystem()JROOT/libraries/src/Extension/ExtensionManagerTrait.php:160
    4Joomla\CMS\Application\CMSApplication->loadExtension()JROOT/libraries/src/Extension/ExtensionManagerTrait.php:99
    5Joomla\CMS\Application\CMSApplication->bootPlugin()JROOT/libraries/src/Plugin/PluginHelper.php:232
    6Joomla\CMS\Plugin\PluginHelper::import()JROOT/libraries/src/Plugin/PluginHelper.php:192
    7Joomla\CMS\Plugin\PluginHelper::importPlugin()JROOT/libraries/src/Authentication/Authentication.php:112
    8Joomla\CMS\Authentication\Authentication->__construct()JROOT/libraries/src/Authentication/Authentication.php:132
    9Joomla\CMS\Authentication\Authentication::getInstance()JROOT/libraries/src/Application/CMSApplication.php:821
    10Joomla\CMS\Application\CMSApplication->login()JROOT/libraries/src/Application/AdministratorApplication.php:341
    11Joomla\CMS\Application\AdministratorApplication->login()JROOT/administrator/components/com_login/src/Controller/DisplayController.php:82
    12Joomla\Component\Login\Administrator\Controller\DisplayController->login()JROOT/libraries/src/MVC/Controller/BaseController.php:678
    13Joomla\CMS\MVC\Controller\BaseController->execute()JROOT/libraries/src/Dispatcher/ComponentDispatcher.php:143
    14Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()JROOT/administrator/components/com_login/src/Dispatcher/Dispatcher.php:45
    15Joomla\Component\Login\Administrator\Dispatcher\Dispatcher->dispatch()JROOT/libraries/src/Component/ComponentHelper.php:361
    16Joomla\CMS\Component\ComponentHelper::renderComponent()JROOT/libraries/src/Application/AdministratorApplication.php:143
    17Joomla\CMS\Application\AdministratorApplication->dispatch()JROOT/libraries/src/Application/AdministratorApplication.php:186
    18Joomla\CMS\Application\AdministratorApplication->doExecute()JROOT/libraries/src/Application/CMSApplication.php:293
    19Joomla\CMS\Application\CMSApplication->execute()JROOT/administrator/includes/app.php:61
    20require_once()JROOT/administrator/index.php:32

    Hallo ManniG. ,

    danke für deine zahlreichen Tipps.

    Die Datei habe ich aus einem Backup mit Joomla 4.3.1.

    Die Migration von 3.x auf 4.x habe ich schon vor längerer Zeit durchgeführt. In allen Backups befindet sich die Datei an der von mir genannten Stelle.

    Einmal editiert, zuletzt von Indigo66 (7. Juni 2023 um 11:38) aus folgendem Grund: Ein Beitrag von hobbykochma mit diesem Beitrag zusammengefügt.

  • Nur Ergänzung. Das Plugin versucht das:

    Code
    require_once JPATH_PLUGINS . '/authentication/joomla/joomla.php';
    PlgAuthenticationJoomla::onUserAuthenticate($credentials, $options, $response);

    Selbst, wenn man den Pfad der ersten Zeile korrigieren würde, funktioniert das ab 4.3 nicht mehr, weil man meinte, auch gleich den Klassennamen "plgAuthenticationJoomla" killen zu müssen.

    Deshalb oben mein Hinweis:

    Das wurde schon bemängelt, dass neue Struktur u.U. nicht rückwärtskompatibel sein könnte. Wurde aber weggewischt, der Einwand.

  • Vielleicht helfen Dir diese Hinweise:

    Ich habe bei mir Joomla 4.3.2 und Joomla 3.10.11 verglichen.Die Funktion __construct() gibt es an dieser Location in Joomla 4.3 nicht aber in Joomla 3.10 steht sie in Reihe 108

    8Joomla\CMS\Authentication\Authentication->__construct()JROOT/libraries/src/Authentication/Authentication.php:132


    Diese Funktion gibt es an dieser Location in Joomla 4.3 nicht. In Joomla 3.10 gibt es im Pfad /libraries/src/extension nur eine ExtensionHelper.php

    2plgAuthenticationEmail->__construct()JROOT/libraries/src/Extension/ExtensionManagerTrait.php:242

    In Joomla 4.3 gibt es an dieser Location kein Directory "email" aber in Joomla 3.10 gibt es da ein Directory "gmail" und eine gmail.php

    1()JROOT/plugins/authentication/email/email.php:19

    Da ist wahrscheinlich irgendwas aus Joomla 3.10 nicht (richtig) konvertiert worden.

    Gruß Gindi