Bekomme bei einer .PHP nur ne weiße Seite

Schmeiss mal ein error_reporting(E_ALL); vorne rein. Oder noch besser, fang den Fehler als Exception ab, da gibts meistens eine halbwegs brauchbarer Trace der einem auf die Spur bringt
http://wiki.yaslaw.info/wikka/PhpErrorsAsExceptions

PHP:
<?php
//Exception Handler
function exceptionErrorHandler($errno, $errstr, $errfile, $errline ) {
    if($errno & ini_get('error_reporting')) {
        throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
    }
}
set_error_handler("exceptionErrorHandler");

try{
//Dein Code

session_start ();
include_once "dbconnect.php";
include_once "who_is_it.php";
include_once "kopf.php"; 
//etc.

//Fehler auffangen und sauber ausgeben
} catch(Exception $e){
    echo "<b>".$e->getMessage()."</b><br />\n";
    echo nl2br($e->getTraceAsString());
}
?>
 
Gesagt getan (danke für das snippet):

PHP:
Fatal error: Call to undefined function s() in /opt/lampp/htdocs/edit_s.php on line 8

In Line 8 steht (code aus deinem snippet):
PHP:
set_error_handler("exceptionErrorHandler");

Mach ich ein '@' davor kommt die weiße Seite... :eek:

**** Wäre mal ein Auszug aus der PHPINFO interessant? Wenn ja welcher part?
 
Zuletzt bearbeitet:
Habe eben deinen obigen Code kopiert und die Namen der include Dateien angepasst.

Wie meinst Du das?

Also ich habe folgende 2 Dateien:

abc.php
PHP:
<?php
echo abc("s");
echo "Hallo";
?>

und xyz.php
PHP:
<?php
session_start();
include "abc.php";
?>

Wenn ich nun die Datei "xyz.php" aufrufe, erhalte ich die Fehlermeldung "Called to undefined function abc() on line 1"

Der Grund bei mir ist das ich in der Datei "xyz.php" die Datei "abc.php" in Zeile 2 einbinde und in Datei "abc.php" die Funktion aufgerufen wird die es nicht gibt.

Bei dir wäre das die "db_connect.php" sofern sie nicht bereits eingebunden wurde (include_ONCE). Dann wäre es die "who_is_it.php" und wenn die schon mal eingebunden wurde, dann bleibt nur noch die "kopf.php".

Wird die "edit_s.php" vielleicht selber irgendwo eingebunden?
 
Das Leerzeichen zwischen session_start und () ist gewollt?

(ach, in letzter Zeit ist es bei mir zu oft zu früh am Morgen :))

Dateinamen der Includes sind richtig? Includes werden - so wie ich Dich verstehe - auch in anderen Scripten aufgerufen und dort funktionieren sie?!

mfg chmee
 
Dateinamen der Includes sind richtig? Includes werden - so wie ich Dich verstehe - auch in anderen Scripten aufgerufen und dort funktionieren sie?!

mfg chmee

Ja, die includes sind korrekt... Die ersten Codezeilen sind in mehreren scripts vorhanden, und da funktionierts 1a!

In keiner von den includeten Dateien wird eine funktion aufgerufen!
 
Im Quelltext steht folgendes, obwohl nix derart an den Client gesendet wurde:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY></BODY></HTML>

Vermutlich der Standard-Quelltext den der Browser hinzufügt:

PHP Version: 5.2.1
 
Es würde sicher auch helfen wenn wirklich mal der komplette Quellcode aller Dateien zu sehen wäre die beteiligt sind.

Gruß Thomas
 
Zurück