Ein kleiner Kontext:
Ich musste PHP-Skripte in einem Browser ausführen, aber ich wollte mir nicht die Mühe machen, einen Server zu installieren und den Aufwand zu betreiben, der mit dem Betrieb eines Servers auf meinem Computer verbunden ist, einschließlich Firewalls, bla bla bla.
Also habe ich stattdessen meinen eigenen Server geschrieben. Es ist ein einfaches PHP-Skript, das auf Verbindungen an Port 80 meiner LAN-IP wartet. Es empfängt die HTTP-Anfrage und startet ein zweites PHP-Skript mit exec
- damit ich Änderungen leicht vornehmen kann, ohne das Serverskript neu starten zu müssen. Dieses zweite PHP-Skript parst die Anfrage und schließlich include
ist das Skript, das tatsächlich aufgerufen wurde. Es ruft die Ausgabe von dort ab und sendet die Antwort mit den entsprechenden Kopfzeilen (die ich ändern kann) zurück an den Browser.
Ja, es ist ein Chaos, aber es funktioniert. Es tut, was ich tun muss.
Und nun die Frage:
Ich kann nicht verwenden header()
. Es scheint keinen Einfluss darauf zu haben, was über die Socket-Verbindung an den Browser zurückgesendet wird. Ich habe stattdessen eine setheader()
Funktion und speichern Sie die Kopfzeilen in einem Array, das der Antwort vorangestellt wird.
Ich würde gerne wissen, wie die header()
Funktion tatsächlich intern funktioniert, so dass ich diese Funktion anstelle meiner "gehackten" Funktion verwenden könnte.