Rolf B: Scriptweiterleitung funktioniert nicht

Beitrag lesen

Hallo Jörg,

wenn Du aber an den Anfang die von Dir gezeigten 5 Zeilen stellst, und auch dann - je nach Parametern - eine weiße Seite bekommst, dann muss das Problem außerhalb deines Scripts liegen.

Unbeholfenes Rumraten ist da zumeist wenig ergiebig.

PHPStorm zeigt auch nicht alles. Ein gescheiterter Include oder Require beispielsweise fällt erst zur Laufzeit auf, und wenn dein Code auf die DB zugreift und je nach DB-Inhalten auf SQL Fehler stösst, die dein Script abbrechen lassen, merkt der das auch nicht. Ich meine mich zu erinnern, dass die SQL-haltigen Snippets, die Du uns früher mal gezeigt hast, Errorhandling vermissen ließen. Aber das kann auch ein Irrtum sein.

An der PDF Seitenzahl kann es nur dann liegen, wenn dein PDF-Generator beim Seitenumbruch abkackt. Hast Du da Callbacks oder so drin, die beim Umbruch aktiv werden?

Weitere Ansätze

  • PHP Errorlogging aktivieren (in der php.ini! Dort log_errors auf 1 setzen und error_log auf eine Datei, in die deine PHP Umgebung schreiben darf). Dies ist der vorrangig zu gehende Weg, alles andere sind Notbehelfe!

-> https://www.php.net/manual/de/errorfunc.configuration.php#ini.log-errors
-> https://www.php.net/manual/de/errorfunc.configuration.php#ini.error-log

  • Mit dem Browser in den Sourcecode der weißen Seite geschaut? Stehen da versteckte Überreste drin?

  • Wenn Du PDFs erzeugst, müsstest Du ja auch einen Content-Type Header setzen. Ersetze das versuchsweise durch text/plain, und such dann in dem, was im Browser ankommt (ist hoffentlich etwas) nach Fehlern

  • Du könntest meine get_getmail.php Idee auch dahingehend erweitern, dass Du einen Error-Handler einrichtest und den Fehler, den Du damit möglicherweise fängst, in die Ausgabe schreibst. Zusätzlich könntest Du auch einen Exception-Handler für ungefangene Exceptions setzen.

Diese beiden Handler kannst Du auch zu Beginn deines regulären getmail.php installieren und immer mitlaufen lassen. Oder verwendest Du solche Handler schon? Dann bau da was ein, dass Errors an geeigneter Stelle protokolliert werden.

Rolf

--
sumpsi - posui - obstruxi