Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Fehlermeldung deuten ,- inkompatiblität

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • flexxer
    hat ein Thema erstellt PHP Fehlermeldung deuten ,- inkompatiblität.

    PHP Fehlermeldung deuten ,- inkompatiblität

    Grüß euch,

    ich habe mit meinem Forum ein kleines Problem, wenn ich es von PHP 5.3 auf 5.5 umstellen will. Da ich noch umschalten kann ist das ein Problem, welches ich doch mal in nächster Zeit lösen müßte eh ich nur noch PHP 5.5 oder 5.6 nutzen kann.

    Ein Plugin wirft mit PHP 5.5 den Fehler:
    (213): Non-static method RGallerySystem::getCurrentCategorie() should
    not be called statically, assuming $this from incompatible context
    Heißt ja auf Deutsch, dass die nicht statische Methode getCurrentCategorie nicht als statische aufgerufen werden solle, mit der Ausnahme vom $this aus dem inkompatiblen Kontext .

    da ich immer noch nicht ganz fit bin im PHP muß ich doch mal nachhaken, was ich mir da mal anschauen muß.

    Vielen Dank für eure Tips.

  • flexxer
    antwortet
    Ich war dabei mir selber einen ab zu grübeln.....

    Es geht recht erfolgreich voran.

    In der /lib/Page/RGalleryUserTagsPage.class.php

    Code:
    $user_tags = RGallerySystem()->generateTagCloud(WBBCore::getUser()->userID, 'RGalleryUser');
     //Hier tauschte ich die variable gegen die Funktion also $RGallerySystem gegen RGallerySystem()
    In der /lib/Page/RGalleryImageWrapperPage.class.php

    musste in der privaten Funktion die Variable $gallery bekannt gemacht werden:

    Code:
     private function generate_image_page($item) { // Dies musste da dann noch hinter: $gallery = new RGallerySystem();
    Nun läufts mit der neuen PHP Version soweit. Muss gerade nurnoch die Sache in den Griff bekommen Kommentare zu löschen.

    Aber dazu mache ich ein neues Thema auf....

    Einen Kommentar schreiben:


  • mermshaus
    antwortet
    Zitat von flexxer Beitrag anzeigen
    Ok, so habe ichs noch nie gemacht,- haste einen Hinweis, wie ich das machen kann und ob ich ein Tool brauche?
    Habe ich schon geschrieben. Auf der Konsole:

    Code:
    $ php -l file.php
    Aber es ist wirklich etwas witzlos, zu versuchen, dir irgendwie zu helfen, wenn du ohne Kenntnisse an einer fremden Software rumspielst, für die es am Ende gar Updates des Herstellers gibt.

    Und Downstream-Hacks (also Anpassungen von Fremdsoftware nur auf dem eigenen System) sind quasi nie der richtige Weg, weil deine Änderungen bei einem offiziellen Update voraussichtlich wieder überschrieben werden.

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    hatte mich zu früh gefreut. Die Hälfte geht wieder , aber das Problem als solches ist noch da -.-

    Einen Kommentar schreiben:


  • _cyrix_
    antwortet
    Mal so rein informativ, bei speziellen Softwarefragen, können dir die Hersteller / Programmierer der Software eher und schneller helfen. Da hätte man dann vermutlich erfahren, dass der Fehler bekannt ist und an ein Patch / Update gearbeitet wird

    Bitte nicht falsch verstehen.

    Viele Grüße

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Ok, hat sich erledigt. Ich habe noch ein letztes Update bekommen und nun läuft es.

    Danke allen Helfenden!!! Top!

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Ok, so habe ichs noch nie gemacht,- haste einen Hinweis, wie ich das machen kann und ob ich ein Tool brauche?

    Einen Kommentar schreiben:


  • mermshaus
    antwortet
    Die syntaktische Korrektheit der Datei kannst du auch lokal testen. Da geht es ja nur darum, dass dir PHP mal sagt, ob der Inhalt zu Parse-Fehlern führen würde, weil beispielsweise eine schließende Klammer fehlt oder dergleichen.

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Ich habe leider auf dem Server weder eine error log noch eine Konsole

    Einen Kommentar schreiben:


  • mermshaus
    antwortet
    Ist die Datei denn syntaktisch korrekt? Das kannst du etwa über die Konsole mit

    Code:
    $ php -l file.php
    prüfen.

    Alternativ kann möglicherweise ein Blick ins Error-Log des Webservers helfen.

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Ich habe die Error Log in die einzelnen Dateien rein geschrieben,- gab keine Ausgabe.
    PHP-Code:
    ini_set('display_errors''1');
     
    error_reporting(E_ALL E_STRICT); 
    Dann bin ich auf einen Hinweis gestoßen, wo drin stand, dass diese Art der Fehleranzeige ausgeschlossen wird im WBB und habe es angepasst wie da beschrieben:
    http://www.woltlab.com/forum/index.p...57#post1253757

    Nun stehe ich immer noch doof da und weiß nicht weiter.
    Der Quelltext der leeren weißen Seiten ist leer.

    Einen Kommentar schreiben:


  • Moewe
    antwortet
    Zitat von flexxer Beitrag anzeigen
    Ja, aber die Frage ist wie ich es dann da einbringen muss in den anderen Dateien. habe es noch nie gemacht.

    Muss ichs im header so machen?
    PHP-Code:
    require_once (WCF_DIR 'lib/page/RGalleryUserPage.class.php'); 

    ... habs gerade getestet,... scheint zu gehen.... mühsam ernährt sich das Eichhörnchen .


    EDIT: Fehlermeldung weg,- Ergebnis ist eine weiße leere Seite..... Shit,- was kann ich jetzt da machen?
    Entweder festellen das eine weiße leere Seite richtig ist...oder prüfen warum er zur scheinbar erwarteten Ausgabe nicht hingelangt

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Ja, aber die Frage ist wie ich es dann da einbringen muss in den anderen Dateien. habe es noch nie gemacht.

    Muss ichs im header so machen?
    PHP-Code:
    require_once (WCF_DIR 'lib/page/RGalleryUserPage.class.php'); 

    ... habs gerade getestet,... scheint zu gehen.... mühsam ernährt sich das Eichhörnchen .


    EDIT: Fehlermeldung weg,- Ergebnis ist eine weiße leere Seite..... Shit,- was kann ich jetzt da machen?

    Einen Kommentar schreiben:


  • SirSnyder
    antwortet
    Sieht doch ok aus, einen Versuch ist's wert, oder?

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Wenn ichs richtig sehe wirds in der Datei, die ich eingangs postete zugewiesen:
    PHP-Code:
    // assign variables
            
    $this->assignVariables();
            
    $gallery = new RGallerySystem(); 

    Einen Kommentar schreiben:

Lädt...
X