Entwickler-Ecke

Programmiersprachen (Server) - Fehlersuche bei Backend PHP Script


GruppeCN - Mi 16.05.07 22:18
Titel: Fehlersuche bei Backend PHP Script
Hallo Delphianer,

zuerstmal: Ich war mir nicht sicher, ob mein Topic in die Delphi4PHP Ecke gehört, weil eigentlich hat es damit wenig zu tun.

Zu meinem Problem: Ich habe ein Backend Script für PayPal Transaktionen auf meinem Webserver laufen, d.h. wenn jemand mir eine PayPal Zahlung schickt benachrichtigt PayPal mich, indem dieses Script aufgerufen und die Vorgangsdaten übermittelt werden.

Das Problem dabei ist nur, dass in meinem Script scheinbar irgendwo ein Fehler liegt. Das Script wird irgendwo abgebrochen, ich kann nur keinen Fehler finden. Da ich leider keinen Zugriff auf Log-Dateien habe, komm ich auch an keine Fehlermeldung ran.

Meine Frage: Kann ich irgendwie z.B. verhindern, dass ein Script bei einem schweren Fehler sofort abgebrochen wird oder kann ich irgendwie anders an die Fehlermeldung rankommen?

Danke schonmal :)


Moderiert von user profile iconChristian S.: Topic aus Off Topic verschoben am Mi 16.05.2007 um 22:24: Schon richtig, das heisst ja Delphi4PHP-Technologien


GTA-Place - Do 17.05.07 18:42

Kannst du das PHP-Script im Browser öffnen? Eventuell wird dann eine Fehlermeldung angezeigt.


chaoskeeper - Do 17.05.07 18:49

setz das mal als aller erstes in deine index datei


Quelltext
1:
2:
3:
4:
<?
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors','1');
?>


das müsste dir anzeigen welches das Problem ist und wo genau es ausgelöst wird


GruppeCN - Do 17.05.07 19:55

Das Problem ist, dass PHP manche Fehlermeldungen erst dann ausgibt, wenn die bestimmte Stelle im Code ausgeführt wird - z.B. wenn z.B. ein Typ unkompatibel ist oder so. Und da das Script eben mit PayPal kommuniziert, ist es schwierig das zu testen.

Glücklicherweise hab ich zufällig den Fehler gefunden, war sehr verzwickt und erzeugte dummerweise nicht mal eine Fehlermeldung, sondern das Problem war eine Endlosschleife, die durch eine fehlende Datei ausgelöst wurde.