Tach!
[15-Jun-2015 23:23:21 Europe/Paris] PHP Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\ws\test.php:315) in C:....
Das ist einer der Fehler, für dessen Verständnis man die Philosphie PHPs verstanden haben muss. PHP-Code wird in einem Template notiert (egal was für Spitzfindigkeiten zu dessen Umgehung im Nicht-Web-Umfeld möglich sind). Alles was außerhalb von <?php ?> notiert ist, wird sofort in die Ausgabe gegeben, und der Webserver kann das auch schon auf die Reise schicken. Und dummerweise kann man nicht nachträglich noch HTTP-Header senden, wenn die ersten Teile vom Payload schon auf dem Weg zum Nutzer sind. Genau das sagt die Fehlermeldung aus. Man muss zur Vermeidung des Problems zuerst die zusätzlich gewünschten zu den per Default ausgegebenen HTTP-Header senden (oder HTTP-Header-sendende Funktionen aufrufen) und dazu gegebenenfalls schon erzeugten Payload so lange zurückhalten.
Zu den fiesen Fallstricken zählen da Zeilenumbrüche oder Leerzeichen nach einem abschließenden ?> vor dem Dateiende. Wenn das ?> als letztes steht, sollte man es deswegen gleich ganz weglassen. Das ist auch kein Fehler.
dedlfix.