Mein Apache "stirbt" wenn ich die() aufrufe O.o

  • Also jetzt bin ich echt verwirrt...

    diese zeile klappt perfekt, egal, das Script das die() ausführt oder nicht

    Code
    $this->dom = @domxml_open_mem($this->xml) OR die($this->fehler(XML_ERROR_DOM_CREATE));


    die Fehlermeldung wird richtig ausgegeben und alles ist toll, falls er das XML nicht parsen kann.

    In einer anderen Methode (aber noch in der selben Klasse), stehen diese Zeilen:


    Hier meldet mein windows: "Apache hat einen Fehler festgestellt und muss beendet werden."
    Ändere ich jedoch die letzte Zeile auf diese hier:

    Code
    $error AND print($this->fehler(XML_INCOMPLETE_REQUEST));


    ...wird mein Script fortgesetzt und die Fehlermeldung wird ausgegeben.
    Rufe ich nur die() auf, stürzt meine Apache auch ab.

    Hat vielleicht irgendjemand sonst dieses Verhalten einmal beobachtet?
    Denn ich bin vollkommen ratlos =(

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • nein wie gesagt, der die-befehl oben funktioniert wunderprächtig.

    Hatte ich auch noch nie
    Hab das jetzt gelöst, indem ich der Klasse eine Eigenschaft namens error gebe und dann erst wieder im konstruktor (wo der andere die-befehl funktioniert) die variable abfrage.

    Was mich wundert:
    Ich hab das jetzt ein bisschen ausgetestet.
    Anscheinend funktioniert der die-Befehl in allen Methoden und im Konstruktor, nur in dieser einen methode funktioniert die() nicht.

    Ich denke das dürfte irgendwas mit dem Aufruf zu tun haben:

    Code
    $this->functions = array( "register" => '$this->registrierung();');
    $this->root = $this->dom->document_element();
    if(isset($this->functions[$this->root->tagname()]))
      eval($this->functions[$this->root->tagname()]);

    Something big is coming. And there will be pirates and ninjas and unicorns...