Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Fragen rund um die Installation, Administration und Benutzung von phpBB 3.1.x und höher und die Konvertierung zu phpBB 3.2.x.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version [3.1.x] oder [3.2.x] angeben.
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 6371
Registriert: 24.05.2010 08:31
Kontaktdaten:

Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon Kirk » 26.11.2014 13:38

Hallo
Beim Update von 3.1.2-RC1-dev auf 3.1.2 bekommeich im ACP folgende Debug Meldung:
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/version_helper.php on line 262: call_user_func_array() expects parameter 2 to be array, string given

Das hier ist die besagte Zeile:

Code: Alles auswählen

throw new \RuntimeException(call_user_func_array(array($this->user, 'lang'), $exception->getMessage()));

Hier ein bischen mehr:

Code: Alles auswählen

    public function get_versions($force_update = false, $force_cache = false)
    {
        $cache_file = '_versioncheck_' . $this->host . $this->path . $this->file;

        $info = $this->cache->get($cache_file);

        if ($info === false && $force_cache)
        {
            throw new \RuntimeException($this->user->lang('VERSIONCHECK_FAIL'));
        }
        else if ($info === false || $force_update)
        {
            try {
                $info = $this->file_downloader->get($this->host, $this->path, $this->file);
            }
            catch (\RuntimeException $exception)
            {
                throw new \RuntimeException(call_user_func_array(array($this->user, 'lang'), $exception->getMessage()));
            }
            $error_string = $this->file_downloader->get_error_string();

            if (!empty($error_string))
            {
                throw new \RuntimeException($error_string);
            }

            $info = json_decode($info, true);


Bei diesem Update habe ich mir das komplette 3.1.2 von com runtergeladen und alle Dateien bis auf die config.php ersetzt.

Selbst wenn ich die Sprache auf en umstelle, bleibt es bei dieser Debug Meldung.

Edit:
Wenn ich das hier:

Code: Alles auswählen

throw new \RuntimeException(call_user_func_array(array($this->user'lang'), $exception->getMessage())); 

durch das ersetze:

Code: Alles auswählen

throw new \RuntimeException($this->user->lang('VERSIONCHECK_FAIL')); 

ist diese Debug Meldung weg.

Benutzeravatar
HabNurNeFrage
Ehemaliger
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon HabNurNeFrage » 26.11.2014 18:39

Hi,

exakt die selbe Debug-Message eben während meines Updates mit dem deutschen Update-Paket von 3.1.1 nach 3.1.2.
Aufgrund der dadurch bereits gesendeten Header war der Dateidownload der Änderungen auch nicht möglich.
Per Remote-FTP lief das Update trotzdem und mit der Meldung durch.
Nun habe ich diese Debug-Meldung nach dem Update aber auch dauerhaft im ACP in den Reitern "Allgemein" und "System" wegen der Versions-Prüfung :cookie:

Zusatz-Info:
Die Versionsprüfung funktioniert aufgrund vom Provider gesperrter Socket Funktionen sowieso nicht, jedoch lief das ACP bisher ohne Debug-Meldung.

LG

PS: Welcher String wird denn in die Funktion geschickt, der ein Array sein soll? Kann man den String irgendwo in ein passendes Array umwandeln? :D
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };

Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9272
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon gn#36 » 26.11.2014 18:53

Hm, entweder $exception->getMessage() ist ein String, dann gehört da sowas hin:

Code: Alles auswählen

    throw new \RuntimeException(call_user_func(array($this->user, 'lang'), isarray($exception->getMessage()) ? $exception->getMessage() : array($exception->getMessage()))); 


Oder es kann auch ein Array sein, aber dann sollte es eher so ähnlich wie das hier aussehen (vielleicht nicht ganz so verschachtelt unbedingt):

Code: Alles auswählen

throw new \RuntimeException(call_user_func_array(array($this->user, 'lang'), isarray($exception->getMessage()) ? $exception->getMessage() : array($exception->getMessage())));


Allerdings wäre mir neu, dass lang überhaupt eine Methode des User Objekts ist, eigentlich kann das also sowieso nicht wirklich aufgerufen werden, es sei denn PHP Callbacks erlauben auch den einfachen Zugriff auf Arrays. Mir ist auch nicht klar was das an der Stelle soll, denn eigentlich sollte es auch ein einfaches

Code: Alles auswählen

 throw new \RuntimeException($this->user->lang[$exception->getMessage()]);
tun.

Ich halte das für einen Bug.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.

Benutzeravatar
Elsensee
Ehemaliger
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon Elsensee » 26.11.2014 23:25

Ich nehme an, du meintest die Funktion is_array oder? :wink:

gn#36 hat geschrieben:Allerdings wäre mir neu, dass lang überhaupt eine Methode des User Objekts ist, eigentlich kann das also sowieso nicht wirklich aufgerufen werden, es sei denn PHP Callbacks erlauben auch den einfachen Zugriff auf Arrays. Mir ist auch nicht klar was das an der Stelle soll, denn eigentlich sollte es auch ein einfaches

Code: Alles auswählen

throw new \RuntimeException($this->user->lang[$exception->getMessage()]); 
tun.
Seit phpBB 3.1 ist lang auch eine Funktion des User-Objekts und ist insbesondere zur Anwendung der Plural-Regel erforderlich. :wink:

$exception->getMessage() liefert immer einen String zurück, weshalb es an entsprechender Stelle natürlich heißen muss:

Code: Alles auswählen

throw new \RuntimeException(call_user_func_array(array($this->user, 'lang'), array($exception->getMessage()))); 


Die Frage, die ich mir nun natürlich stelle, ist eine ähnliche wie deine, (nur halt mit der Funktion lang :D ):
Warum hat man nicht einfach das hier genommen?

Code: Alles auswählen

throw new \RuntimeException($this->user->lang($exception->getMessage())); 
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)

Benutzeravatar
HabNurNeFrage
Ehemaliger
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon HabNurNeFrage » 26.11.2014 23:55

Hi.

Elsensee hat geschrieben:Die Frage, die ich mir nun natürlich stelle, ist eine ähnliche wie deine, (nur halt mit der Funktion lang :D ):
Warum hat man nicht einfach das hier genommen?

Code: Alles auswählen

throw new \RuntimeException($this->user->lang($exception->getMessage())); 


PERFEKT 8)

Das sollte man dort schnellstens eintragen :D
Mit dieser Zeile weder beim Update noch hinterher Probleme...

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };

Talk19zehn
Ehemaliger
Beiträge: 4692
Registriert: 08.06.2009 12:03

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon Talk19zehn » 27.11.2014 00:01

Wenn das Update aus Sicherheitsgründen auf 3.1.2 so wichtig ist, wie soll man denn nun vorgehen? Gibt´s ´ne Anleitung, wie die besagte Zeile tatsächlich zu ändern ist oder sollte man auf ein neuens Päckchen warten?


Edit:
HabNurNeFrage war ja wieder fix.... :D
Also vor dem Update die besagte Zeile mit dem Eintrag von Elsensee ändern?

Edit2:
Mir wurde nicht beim Sendevorgang angezeigt, dass in der Zwischenzeit ein neuer Beitrag gepostet wurde. Die vorherigen Angaben zur Ausführung einer Änderung der Einträge in jener Zeile, waren daher zunächst unklar, da zwei Vorschläge vorlagen.
Zuletzt geändert von Talk19zehn am 27.11.2014 00:17, insgesamt 2-mal geändert.

Benutzeravatar
HabNurNeFrage
Ehemaliger
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon HabNurNeFrage » 27.11.2014 00:05

Hi,

die Fehlermeldung enthält mit [ROOT]/phpbb/version_helper.php on line 262 bereits die Anleitung:

Öffnen ./phpbb/version_helper.php
und Zeile 262 => z.Zt. throw new \RuntimeException(call_user_func_array(array($this->user, 'lang'), $exception->getMessage()));
ersetzen durch throw new \RuntimeException($this->user->lang($exception->getMessage()));

Thats it.

LG

/** Edit wegen Edit */ :wink:
Beide Lösungen sind nahezu gleich.
Kirk verweist direkt auf die zugehörige Fehlermeldungsvariable, während Else :wink: eine weitere Klasse nach ihr suchen lässt.
Elsis Lösung sieht einfach nur wichtiger aus. Soll der Server doch rechnen. Dafür wiurde er ja gemacht :lol:
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };

Benutzeravatar
Elsensee
Ehemaliger
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon Elsensee » 27.11.2014 00:51

Habe ich dann mal gemeldet: PHPBB3-13393 :wink:
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)

Gast234254
Gesperrt
Beiträge: 1999
Registriert: 08.02.2009 22:58

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon Gast234254 » 27.11.2014 00:56

  1. Stellt sich mir die Frage, ob es auch den Anwender der offiziellen 3.1.1 Version betrifft zum Update der aktuellen Version 3.1.2?
    Denn bei Kirk handelte es sich um eine Entwickler-Version 3.1.2-RC1-dev. Bei meinem Update der Entwickler-Version von 3.1.2-RC1-dev ~ Build 2403 zu 3.1.3-RC1-dev ~ Build 2406 hatte ich keine Debug Meldungen.
  2. Stellt sich mir die anschließende Frage. Ob es an der Servereinstellungen liegen kann, das ich keine Debug Meldung erhalten habe?
  3. Noch eine letzte Frage, wurde ein Ticket erstellt?

Benutzeravatar
HabNurNeFrage
Ehemaliger
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Debug Meldung beim Update von 3.1.2-RC1-dev auf 3.1.2

Beitragvon HabNurNeFrage » 27.11.2014 01:04

Hi.

1a) bei mir trat es beim Update von official 3.1.1 zu official 3.1.2 auf
1b & 2) sofern die Versionsprüfung erfolgreich ist, also fsockopen aktiviert, kommt es gar nicht zum tragen

3) siehe Beitrag vor Deinem

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };


Zurück zu „Support-Forum“