Ankündigung

Einklappen
Keine Ankündigung bisher.

Catchable fatal error

Einklappen

Neue Werbung 2019

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

  • Catchable fatal error

    Hallo,
    ich arbeite schon seit längerer Zeit mit PHP, aber diesem Problem bin ich bislang nicht gewachsen:


    Ich arbeite in meiner Testumgebung mit Windows/XAMPP.

    Nachdem ich mein Projekt auf dem Live-System (UNIX) veröffentlicht habe, erhalte ich sporadisch folgende Fehlermeldung:

    Catchable fatal error: Object of class __PHP_Incomplete_Class could not be converted to string in /home4/www/b45/falschparken/webknecht/rubriken/rubrik_class.inc on line 269

    Weiß jemand von euch, wodurch diese Meldung verursacht werden kann? Bzw. was der Grund dafür sein könnte?

  • #2
    Das ist jetzt mehr oder weniger nur wild geraten:
    Du hast ein Objekt in der Session abgelegt und versuchst es auf einer anderen Seite wieder zu benutzen ohne davor (vor session_start()) die Klassendefinition per include() eingebunden zu haben..... Oder verwendest irgendwo unserialize/serialize falsch....

    Was steht denn in der angegebenen Zeile?
    [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

    Kommentar


    • #3
      hi agrajag, also als erstes mal vielen dank für deine antwort!

      ich glaube, du bist schon auf dem richtigen weg.

      ich verwende session_start(); ganz am beginn meines codes, belege die $_SESSION - Variablen allerdings immer nur mit Textstrings.

      Der Fehler entsteht in einer Zeile auf, in der ich ein Objekt mit new anlege.
      Der Fehler tritt aber nicht sofort in dieser Zeile auf, sondern erst beim nächsten Aufruf einer Seite.

      Ich finde es merkwürdig, dass in der Windows-Umgebung alles klappt, während es in UNIX zu diesem Fehler kommt.
      Ist das ein UNIX-Bug,...?

      Kommentar


      • #4
        Ich würde nicht davon ausgehen, dass es ein Unix-Bug ist....

        Poste doch mal den Quellcode (die wichtigen Teile)...vielleicht findet dann einer was.
        [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

        Kommentar


        • #5
          Ich glaub auch, dass es kein Bug ist, aber irgendwie verhält sich der PHP-Zend unter UNIX beim Serialisieren/Deserialisieren von Klassen anders glaube ich...

          werd den Quellcode am Abend posten, kann gerade nicht auf das System zugreifen...

          Kommentar


          • #6
            Der Code:

            anwendung2.php
            session_start();
            if (strstr($_GET[sel],'login/logout.php')) {
            setcookie ("webknecht_email", "", time() - 3600);
            setcookie ("webknecht_password", "", time() - 3600);
            }

            putenv("MY_ROOT=../webknecht") or die("Couldn't set environment variable.");

            putenv("MY_HOST_ROOT=http://www.falschparken.at/webknecht") or die ("Cant' set host root.");
            //print "host root set: ".getenv("MY_HOST_ROOT");
            include (getenv('MY_ROOT')."/allgemein/datenbank_class.inc");
            include (getenv('MY_ROOT')."/benutzer/benutzer_class.inc");
            include (getenv('MY_ROOT')."/allgemein/bild_class.inc");
            include (getenv('MY_ROOT')."/allgemein/db_class.inc");
            include (getenv('MY_ROOT')."/allgemein/fehlerausgabe_class.inc");
            include (getenv('MY_ROOT')."/allgemein/secure_class.inc");
            ....
            ....
            include ("benutzerdaten.php");
            ...
            ...

            benutzerdaten.php:
            ...
            include (getenv('MY_ROOT')."/benutzer/betriebstyp_class.inc");
            ...

            include (getenv('MY_ROOT')."/benutzer/benutzer_formlar.php");
            ...


            benutzer_formular.php:
            <form action="POST" ...>
            ...
            $betriebstyp = new Betriebstyp(); //in dieser Zeile wird der Fehler ausgelöst.
            ...
            </form>

            Kommentar

            Lädt...
            X