Du versuchst ein Grundlegendes Problem von HTTP zu umgehen: Datentransfers werden stets vom Client iniziiert, nie vom Server.
Ich denke, Du wirst mit der Methode (ewig laufendes PHP-Script) schnell an unlösbare Probleme stossen, weil der Browser erwartet, dass irgendwann die Übertragung beendet ist.
Soweit ich bislang gesehen habe, macht man das mit auto-refresh's (im HTML head-Teil). Optimal wäre es, wenn alle 10 Sekunden ein Refresh statt findet, der Browser jedoch nicht sogleich die ganze Ausgabeseite neu holt, sondern erst mal mit einem sogenannten HEAD-request das Änderungsdatum der Seite abfragt und nur den Inhalt erneuert, wenn es sich geändert hat. Man muss den HEAD-response wohl in PHP coden, denn das änderungsdatum der PHP-Datei zurückzugeben macht keinen Sinn.
Genaueres Vorgehen kann ich Dir nicht sagen. Aber vom Prinzip her könnte es so besser laufen.