Problem mit Reauthentication

  • Affected Version
    WoltLab Suite 5.4

    Bei einer frischen Test-Installation (Stand 07.04.21, Apache, Passwort-geschützt) mit Default-Einstellungen ist das ACP nach Abmeldung im ACP nicht mehr aufrufbar.

    https://xyz.de/acp/index.php?reauthentication/&url=... gibt einen Fehler 500 ohne Hinweis auf den Grund. Im Frontend ist inkl. An-/Abmeldung alles in Ordnung.

    Gruß, Udo

    • Official Post

    Hallo,

    gibt einen Fehler 500 ohne Hinweis auf den Grund.

    500er entstammen direkt dem Webserver oder PHP. Den Grund solltest du also in deinem Apache- bzw. PHP-Errorlog entnehmen können.


    Ich kann die Problematik lokal nicht reproduzieren (PHP 8, FPM, nginx).

  • 500er entstammen direkt dem Webserver oder PHP. Den Grund solltest du also in deinem Apache- bzw. PHP-Errorlog entnehmen können.

    Nein, keine Einträge vorhanden.

    Ich kann die Problematik lokal nicht reproduzieren (PHP 8, FPM, nginx).

    Hier funktioniert es in einem PHP 8-System auch. Auf einem anderen mit PHP 7.3 unter Apache aber eben reproduzierbar nicht.


    Es liegt ganz offensichtlich am Aufruf von parent::createForm(); in ReauthenticationForm und dann in AbstractFormBuilderForm

    Code
    $this->form = $this->formClassName::create(\lcfirst($controller));

    Bis dahin passt alles. Mit dem Aufruf kommt 500.

    Gruß, Udo

    • Official Post

    Hallo,


    danke, die PHP-Version war die entscheidende Information. Ich habe tatsächlich den Step-Debugger von XDebug benötigt, um PHP die Fehlermeldung zu entlocken:

    Code
    Fatal error: Declaration of wcf\system\form\builder\FormDocument::markRequiredFields(bool $markRequiredFields = true): wcf\system\form\builder\FormDocument must be compatible with wcf\system\form\builder\IFormDocument::markRequiredFields(bool $markRequiredFields = true): wcf\system\form\builder\IFormDocument

    Schuld ist hier wohl die fehlende Unterstützung für Covarianz in den Return-Types. Der Fehler tritt generell auf, wenn der FormBuilder genutzt wird.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!