Internal Server Error bei Funktionsrücksprung

anmae

Erfahrenes Mitglied
Hallo zusammen,

ich habe etwas ganz seltsames im Joomla Virtuemat.

Ich habe dort einen Funktionsaufruf:

PHP:
$userinfo->bindChecknStore($userfielddata);
und die Funktion dazu:
PHP:
public function bindChecknStore(&$data, $preload = false) {

		$ok = true;
...
		return  $ok;
	}

Wenn ich in die Funktion vor dem return ein die() einhänge, dann kommt das Skript bis dort. in $ok steht true. mit debug_print_trace sieht der callstack ok aus.
Wenn ich das die jedoch direkt nach den Funktionsaufruf schreibe (oder ganz weglasse), dann bekomme ich einen F500 (internal server error)

Ich hab nun keine Ahnung wieso der beim Rücksprung aus der Funktion auftritt. Liegt das eventuell an Servereinstellungen?
Kann mir bitte mal jemand einen Denkanstoß geben?
Danke.
 
öhm, wo kommt der die() hin?

Den die() hatte ich zum debuggen - um zu finden an welcher Stelle der Fehler geschmissen wird - eingebaut.
vor dem return führt er das die("hier"); noch aus - also er macht die Ausgabe. Nach dem Funktionsaufruf jedoch nicht mehr, bzw es kommt zum Fehler 500.
Dazwischen ist also nur die Rückgabe der Funktion.
 
PHP:
<?php

class Userinfo
{
    public function bindChecknStore(&$data, $preload = false) {
        $ok = true;
        return  $ok;
    }
}

$userinfo = new Userinfo();

$data = array();

$userinfo->bindChecknStore($data);

var_dump('wird erreicht');

Ich denke, das Problem steckt nicht in dem Code, den du bisher gezeigt hast.
 
ja eben, dass das so funktionieren muss - und tut - ist mir auch klar. Tut es aber eben bei mir irgendwie nicht.
Ich habe aus der php.ini nun mal alle Zend Einträge raus gemacht - und siehe da, der Fehler 500 ist weg. *grübel*

Ich denke, dass irgend etwas mit $data gemacht wird, was nicht zurückgegeben werden kann. Der Code ist halt nicht von mir.
 
Zurück