Alleinige Fehlermeldung "Error displaying the error page" - bisherige Fixes helfen nicht

  • Hallo, ich bitte um Hinweise bei folgendem Problem:
    Meine Joomla Webseite, gehostet bei Strato läuft seit vielen Jahren stabil, aktuell noch unter php5.6.


    Sobald ich bei Strato die PHP-Version auf 7.0 oder 7.1 umstelle, bekomme ich beim Aufruf meiner Domain www.land-water-adventures.com den Fehler "Error displaying the error page" OHNE weitere Meldung.


    Ich habe schon selbst relativ lange Foren und entsprechende Ressourcen durchsucht, allerdings diesen Fall nicht gefunden - sondern lediglich mit nachstehender Detailmeldung. In meinem Fall habe ich die allerdings nicht.
    Die in diesem Thread genannten möglichen Fixes habe ich schon probiert bzw. überprüft. Schnittstelle ist (schon länger) auf mysqli umgestellt, Datenbank in der configuration.php steht auf rdbms.strato.de ohne Doppelpunkt.


    Die Joomla-Installation ist eine eigene, also keine Strato 1-Click.


    Ich würde mich über Hinweise, auch und insbesondere zu Fehlerdiagnose freuen. Vielen Dank!


    Fehlermeldung noch einmal im Anhang als Screenshot.

  • OT: Ich habe Deine Frage in einen neuen Thread und in die richtige Kategorie verschoben , da Du einen schon gelösten Thread gekapert hast (Forenregeln lesen!).
    Eigene Frage, eigenen Thread!


    Lösung:
    Das liegt i.d.R. an Erweiterungen, die nicht PHP7 kompatibel sind. Überprüfe vor der Umstellung also Deine installierten Erweiterungen, aktualisiere diese oder suche nach Alternativen.

  • Ich nutze das gleiche Template mit dem Slider bei Strato. Hatte bei der Umstellung auf PHP 7 keine Probleme.


    Die Fehlermeldung hatte ich vor kurzem auch. Es lag an den DB-Zugangsdaten in der configuration.php.
    (Kann ich mir aber bei der Umstellung der PHP.Version nicht vorstellen).


    Eventuell auch mal die /temp und /log-Pfade in der configuration.php überprüfen.
    Z.B. hiermit: joom-Config.


    Vielleicht noch unter 'Erweiterungen'-'Verwalten'-'Datenbank' auf 'Reparieren' klicken.


    Auch mal deine Extensions aktualisieren (siehe @Indigo66)

  • Zitat

    OT: Ich habe Deine Frage in einen neuen Thread und in die richtige Kategorie verschoben , da Du einen schon gelösten Thread gekapert hast (Forenregeln lesen!).
    Eigene Frage, eigenen Thread!


    Ich bitte um Entschuldigung! Habe mir die Forenregeln nun durchgelesen und werde versuchen, an alle zu denken!


    Vielen vielen Dank für die schnellen Antworten. Ich gehe alle Hinweise durch und melde mich mit dem Status zurück.


    Sebastian

  • Dieser Hinweis von Re:Later

    Zitat

    In der configuration.php umstellen bzw. in der Joomla-Konfig., wenn geht.
    $debug = '1';
    $error_reporting = 'maximum';


    Zusätzlich die Datei error.php im Template-Ordner durch Umbenennen deaktivieren.


    hat dazu geführt, dass der ausgegebene Fehler nun folgender ist:
    "Error displaying the error page: Call to undefined function set_magic_quotes_runtime(): Call to undefined function set_magic_quotes_runtime()"
    (tatsächlich zwei Mal hintereinander)


    Mein erster Ansatz: Ein grep auf der gesamten Joomla-Installation für diese Funktion, die es ja scheinbar in PHP 7 nicht mehr gibt. Das ergab für den String " set_magic_quotes_runtime" die folgenden Files:
    administrator\components\com_dropeditor\extensions\dropeditor\ckeditor\plugins\codemirror\js\codemirror.mode.php.min.js
    libraries\vendor\phpmailer\phpmailer\class.phpmailer.php
    media\editors\codemirror\mode\php\php.min.js
    media\editors\codemirror\mode\php\php.js
    plugins\editors\dropeditor\ckeditor\plugins\codemirror\js\codemirror.mode.php.min.js


    für die Suche mit öffnender Klammer (also einen tatsächlichen Aufruf) allerdings nur
    libraries\vendor\phpmailer\phpmailer\class.phpmailer.php


    Das ist aber zum Einen ein Stück Joomla! Code, zum anderen wird der Aufruf dort conditional mit Abfrage für PHP<5.3.3 gemacht. Falscher Dampfer, vermute ich.


    Die Vorkommen des Strings in den JS Files sind nur Methodenlisten und keine Aufrufe soweit ich das sehe und CodeMirror ja auch sowieso bei Joomla! dabei.


    Als nächsten Schritt habe ich trotzdem noch einmal im Backend alle Erweiterungen die nicht als Author "Joomla! Project" hatten deaktiviert und das Template auf protostar gesetzt. Cache gelöscht, sogar händisch nochmal per ftp, in der Strato-Konfiguration PHP Version auf 7.1 gesetzt und selber Fehler wie oben:
    "Error displaying the error page: Call to undefined function set_magic_quotes_runtime(): Call to undefined function set_magic_quotes_runtime()"


    Was übersehe ich? Bzw. wo kann ein solcher Funktionsaufruf noch herkommen, wenn ich ihn nicht in der Joomla-Installation ergreppen kann?


    Ratlose Grüße und vielen Dank schon im Voraus für weitere Hinweise, Sebastian

  • Such mal nach nur magic_quotes.
    Prüfe auch die htaccess, falls du noch nicht hast.
    Prüfe bei Strato, falls es das dort gibt, die PHP-Einstellungen und deaktiviere alles mit magic_quotes.


    Dann, aber jetzt keine grundlose Panik, kommt nat. auch ein Hack in Frage oder anderweitiger Code, der verschleiert ist, dann meist mit base64_decode wieder entschleiert wird. Joomla verwendet base64_decode auch öfters. Deshalb ist Suche aufwendiger.


    Ersetze mal die error.php durch die im Ordner templates/system/. Ist aber nur Gestocher von mir.

  • Danke fürs dranbleiben!


    Zitat

    Ersetze mal die error.php durch die im Ordner templates/system/. Ist aber nur Gestocher von mir.


    Keine Veränderung

    Zitat

    Prüfe auch die htaccess, falls du noch nicht hast.


    Geprüft, keine magic drin

    Zitat

    Prüfe bei Strato, falls es das dort gibt, die PHP-Einstellungen und deaktiviere alles mit magic_quotes.


    Komme bei Strato nicht auf deren php.ini, kann allerdings eine eigene php.ini im webspace-root ablegen. Dort habe ich allerdings

    Code
    1. [PHP]error_reporting = E_ALL & ~E_NOTICEdisplay_errors = Ondisplay_startup_errors = Onlog_errors = Ontrack_errors = On


    schon probiert, ohne dass in den Strato Logs mehr Infos stehen würden.


    Zitat

    Such mal nach nur magic_quotes.


    Gemacht. Bringt dann deutlich mehr Files (siehe Anhang), allerdings scheinbar immer get_magic_quotes_{gpc oder runtime}() bzw. im Fall der Datei \administrator\language\de-DE\de-DE.com_admin.ini z.B.

    Code
    1. COM_ADMIN_MAGIC_QUOTES="Magic-Quotes"


    Zitat

    Dann, aber jetzt keine
    grundlose Panik, kommt nat. auch ein Hack in Frage oder anderweitiger
    Code, der verschleiert ist, dann meist mit base64_decode wieder
    entschleiert wird. Joomla verwendet base64_decode auch öfters. Deshalb
    ist Suche aufwendiger.


    Keine Panik beim Wort Hack, ca. 10 Jahre im wissenschaftlichen Umfeld (ja, ich weiß ;-) ) Code geschrieben, nur einfach kaum Ahnung von PHP oder den inner workings von Joomla.


    Was wäre dein nächster Schritt?

  • Ja, harter Fall scheint mir auch ;)


    Xampp-Installation wäre mein zweiter Versuch außer jemand hier hat noch eine Idee.


    Mein erster Gedanke wäre ein fresh install von Joomla in einem Unterverzeichnis und auf eine subdomain, dann schrittweise Nachinstallation aller vorherigen Extensions inklusive Template dann schon die ganze Zeit auf PHP7. Wenn das dann auf PHP7 läuft, sollte ein kompletter Merge der DB dann doch nichts mehr zerschießen, oder liege ich da falsch?