Joomla 4 Error 500 bei Upgrade - die Lösung

  • Habt ihr einen Error 500 bei dem Upgrade von Joomla 3 auf Joomla 4, liegt es in den meisten Fällen an euren "alten" Komponenten, Module oder Plugins. Bitte fragt euren Hoster nach einem Backup, denn oft ist auch das Backend von Joomla4 nicht mehr zu erreichen.

    Vorher sollte der Webspace per FTP gelöscht werden und dann das Backup eingespielt.

    Danach schaut ihr euch das wiederhergestellte Joomla 3 an und macht einen Check ob wirklich alle Module, Komponenten und Plugins schon für Joomla 4 freigegeben sind. Wenn nicht, entfernt diese VORHER!

    Danach könnt ihr das Upgrade auf Joomla 4 wieder anstoßen, aber Vorsicht: Ich empfehle noch bei der aktuellen 3.10 Joomla Version zu bleiben. Dieser "Zweig" von Joomla wird noch eine Weile gepflegt.

    Übrigens, bei uns läuft Joomla4 mit PHP8 und Hosting ohne Probleme. Auch Backups werden automatisch täglich erstellt und können bei Bedarf wiederhergestellt werden.

    Demo gefällig:

    https://salmonellen-fleisch.de/

    Ist nur ne Testseite, da ich noch die richtigen SEO Komponenten/Plugins für Joomla4 suche und teste.

    In der Regel kommt: The server returned a "500 Internal Server Error".

    Ich sehe immer mehr mit dem Update / Upgrade Problem. Selbst bei mir war eine Kundin betroffen, da habe ich dann das unkompliziert lösen können.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Auch interessante Keys könnten sein: Joomla Backup wiederherstellen nach Update

    Das hätte ich voraussehen müssen. Warum sagt mir das keiner.

    Übrigens habe ich 24h am Tag Bereitschaft. Gerne stelle ich Joomla Webseiten wieder her, das die wieder funktionieren.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Ach ja, es ist die Stable Version von Joomla 4, nicht die Alpha, nicht die Beta Version. Viele haben einfach mal im Backend von Joomla 3.10 das nächste Upgrade gemacht. Das geht natürlich so nicht, kann nicht funktionieren. Grade bei den Änderungen die am Joomla Core gemacht worden sind.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Ein 500 Internal Server Error ist ein sehr allgemeiner HTTP-Statuscode. Da läuft was falsch im Framework oder bei dem Update / Upgrade. d.h. geänderte PHP-Version, verschobene Website, aktualisiertes Joomla von 3 auf 4.

    Wichtig ist das die "Erweiterungen" Joomla 4 kompatibel sind. und ich sehe immer noch viele Joomla Webseiten mit Fehlermeldung Code 500.

    Da kann man auch ein Backup einschieben, zB mit Akeeba.. oder vom Hoster ( Webhosting ).

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Habe heute meine Joomla Version von der davor aktuellsten Version 3 (inklusive aktuellen Versionen der deutschen Sprachenerweiterung (andere waren nicht installiert) auf die Version 4.1 geupdatet. Leider ist nun meine Website nicht mehr erreichbar Error 500. Nach diversem recherchieren und probieren komme ich nun leider nicht mehr weiter und bin auf Hilfe angewiesen die ich hoffentlich hier finde. Leider habe ich von programmieren oder sonstigem was mit der Website zu tun hat nicht viel Ahnung (Website wurde für mich für teures Geld erst letztes Jahr erstellt aber hätten jetzt gerne trotzdem 450€ von mir um die Website wieder online zu stellen Frechheit..)

  • Watt?

    Spiel ein Backup ein und gut ist.

    Bei welchem Hoster bist du denn? In der Regel machen die auch Backups ( ich mache auch täglich welche ). Wenn du Hilfe brauchst, einfach melden...

    Ich empfehle dir das Upgrade noch nicht! Grade aus diesem Grund das dann nen Error 500 kommt ( meistens ). Das liegt an irgendeiner Komponente, Modul oder Plugin, kann aber auch das Template sein. Da kannst du.... wenn du unbedingt auf Joomla 4 Upgraden möchtest, deine Logs mal anschauen. Ich empfehle aber ein Downgrade!

    Gruss

    Alexx

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Vielen Dank schon mal für die Tipps habe jetzt mal mit Strato gesprochen die meinten es liegt an einem Template das der Ersteller der Website erstellt hat liegt und Sie deshalb nichts machen können. (Wegen Downgrade habe ich jetzt zwar nicht speziell gefragt aber hätte er das nicht anbieten sollen wenn das möglich ist?) Habe jetzt mal geschaut ob ich irgendwie auf das Template zugreifen kann aber selbst wenn ist deaktivieren wahrscheinlich doof weil ohne Grund wird es ja nicht da sein und vom umprogrammieren habe ich leider keine Ahnung...

  • Laut Strato soll hier:

    <?php

    /**

    * @package Joomla.Site

    * @subpackage mod_custom

    *

    * @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All rights reserved.

    * @license GNU General Public License version 2 or later; see LICENSE.txt

    */

    defined('_JEXEC') or die;

    $url = '#';

    if($params->get('header_class')){

    $url = JRoute::_('index.php?Itemid='.$params->get('header_class'));

    }

    $img = '';

    if($params->get('backgroundimage')){

    $img = "<img src='".$params->get('backgroundimage')."'>";

    }

    ?>


    <div class="custom<?php echo $moduleclass_sfx; ?>">

    <a href="<?php echo $url; ?>"><?php echo $img; ?><?php echo $module->content; ?></a>

    </div>

    Oder hier:

    <?php

    /**

    * @package Joomla.Site

    * @subpackage mod_custom

    *

    * @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All rights reserved.

    * @license GNU General Public License version 2 or later; see LICENSE.txt

    */

    defined('_JEXEC') or die;

    $css = '';

    if($params->get('backgroundimage')){

    $css = '<style>@media (min-width: 1100px) {.top-banner-wrapper { background: url("'.$params->get('backgroundimage').'") no-repeat top right;}}</style>';

    }

    echo $css;

    ?>

    <div class="custom<?php echo $moduleclass_sfx; ?>" >

    <?php echo $module->content; ?>

    </div>

    das Problem liegen aber für mich ist das leider nur Kauderwelsch aber vielleicht hilft es Ihnen weiter

  • Strato hat meines Wissens auch Backups. Ist die Webseite immer noch Offline? Bitte den Strato Support um das Einspielen eines Backups. Sehr wahrscheinlich kannst du das auch über das Kundenmenue machen.

    Das was du da vorhast, ist absolut unsauber! Ich empfehle dir eine DEV Umgebung zu erstellen und eben DA Joomla 4 zu Upgraden/Testen.

    Ich habe schon ein paar Seiten umgestellt auf Joomla 4, bin da aber sehr viel vorsichtiger vorgegangen.

    Schick mir mal per PN die Seite, dann schau ich mir das mal an.


    Gruss

    Alex

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Wegen Downgrade, damit meine ich das Backup einspielen wo es noch Joomla 3 war. Danach geht wenigstens die Seite wieder...

    Danach, wenn alles wieder läuft, erstelle dir ne Subdomain. zB test.deinedomain da machste ne Kopie drauf und alles für Joomla 4 fertig. Erst wenn das läuft, verschiebste das in die echte Umgebung. J4.1 kann auch PHP 8.1 ( das ist damit auch schneller ) und viele weitere Verbesserungen warten da auf dich. Man operiert da aber nicht am offenen Herzen. Und wenn der Operateur sagt: Gib mir soundsoviel Geld, dann würde ich auch erstmal fragen: Wofür?

    Kann nur ne Kleinigkeit sein, also ne Sache von 5 Minuten. Deswegen testet man das in einer DEV Umgebung.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • ja könnte mal bei Strato fragen ob die so ein Backup haben. Ansonsten glaub ich auch das das eine Sache von 5 Minuten ist aber leider weiß ich weder was DEV ist geschweige denn wie man es erstellt...

  • Da kommste an einem Backup nicht sauber vorbei. Strato wird recht haben und es an etwas da oben liegen, aber! Das ist ja nur ein Teil vom Template. Die beiden Scripte da oben inkludieren ja auch andere Dinge, nutzen andere Funktionen. Der Fehler kann also auch tiefer stecken, wird halt nur dort aufgerufen oder eben über Dritte und Vierte eingebunden.

    Du kannst also davon ausgehen, dass bei einem Aufruf von "$module->" im Hintergrund noch 100 andere Funktionen aufgerufen werden. Wenn eine von den 100 nun einen Fehler hat, dann kommt die genau auf diesen Aufruf zurück. Der Fehler wird hier dann "angezeigt", ausgelöst wurde er aber ganz wo anders.

    Ehrlich gesagt ist da in den beiden Code-Teilen auch nicht viel drinnen, was einen Fehler 500 auslösen könnte, wenn schon so was wie das "$params->" oder das "$module->", aber wie gesagt, das sind nur Aufrufe hier, die Funktion selbst befindet sich viel tiefer im System.

    Wenn Dein System ein Upgrade machte, dann wurde auch das Template bedacht und entsprechend in die Datenbank geschrieben. Das sind ja nicht nur Dateien auf dem Server. Also die einfach per FTP überschreiben geht nicht, denn das ändert ja die Datenbank nicht. So ist es durchaus möglich, dass das neue Joomla Datenbankfelder geändert hat, die eigentlich migriert werden mussten, aber das Template nicht kompatibel war. Was nicht kompatibel ist, kann nicht migriert werden, also hat es die alten, eventuell nicht mehr vorhandenen Datenbankfelder bzw. versucht sie zu nutzen.

    Ein Fehler 500 deutet ja eher darauf hin, dass eben eine Funktion oder Klasse aufgerufen wird, die es nicht gibt. Oder eine Funktion so geändert wurde, dass die Syntax vom Aufruf nun eine andere ist. Oder eben, dass ein Datenbankabruf nicht funktionierte, das kann z.B. bei unbekannten / umbenannten Tabellenfelder der Fall sein. In dem Fall gibt es keine vernünftige Fehlermeldung, nur ein "500".

    Wenn es das Template ist, dann war der Fehler, dass Du das vorher nicht deaktiviert hast. Also vor dem Upgrade zurück auf das Default-Layout von Joomla, auch wenn die Seite dann scheiße aussieht. Dann Upgrade, wenn es funktionierte, das eigene Layout wieder. Das wird dann schon sagen, ob es installierbar ist oder nicht.

    Daher das mit dem DEV von Alex. Er meinte, ich übersetze einfach mal, eine Kopie Deines funktionierenden Systems erstellen und mit der alles durchtesten. Wenn es geht, dann im echten System machen. So würde nur das Testsystem ausfallen und nicht das eigentliche, das online ist.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Wenn Du da mal schaust, dann gibt es von diesem mod_custom etliche "neue Versionen". Alle sind Entwicklungsversionen, aber für Joomla 4.0, 4.1 und schon 4.2. Aber es hagelt auch dort Fehler ohne Ende und die reichen von "Syntaxfehler" über "fehlende Felder in der Datenbank", falsche Berechtigungen für Dateien und Co.

    https://github.com/joomla/joomla-…ules/mod_custom

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Das hier schaut von der Technik her wie Dein zweiter Code-Teil aus, ist aber technisch völlig anders, mit anderen Joomla-Klassen, wie

    use Joomla\CMS\Factory;

    use Joomla\CMS\HTML\HTMLHelper;

    use Joomla\CMS\Uri\Uri;

    https://github.com/joomla/joomla-…mpl/default.php

    Auch der von der 4.0-DEV ist völlig anders:

    https://github.com/joomla/joomla-…mpl/default.php

    Der von der 3.10-DEV schaut sehr ähnlich Deinem da oben aus:

    https://github.com/joomla/joomla-…mpl/default.php

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Da ich von dem ganzen Code und auch vom erstellen einer Testseite keinerlei Ahnung habe bedanke ich mich trotzdem für die vielen Versuche mir zu helfen. Habe jetzt ein Backup von ein Paar Tagen vor dem Update über Strato eingespielt. Leider funktioniert jetzt gar nichts mehr ich komme nicht mal mehr in den Administratorbereich rein und die Website zeigt einen anderen Fehler der mich aber auch überhaupt nicht weiter bringt (PHP Version hab ich als Test schon mal zurück gesetzt hat aber auch nichts gebracht)... Jetzt habe ich wirklich keine Ahnung mehr was ich noch tuen kann außer jemanden zu suchen der an der Website weiter programmieren kann aber seriöser ist wie die Ersteller der Website...

  • habe jetzt nach ein wenig googeln filezilla runtergeladen und mich dort verbunden aber keine Ahnung was ich dort machen soll. Zudem habe ich auch phpmyadmin runtergeladen aber da kapier ich nicht mal was ich nach dem download machen soll das da überhaupt was passiert...