echo $begrüßung;
Der OP weiss nicht, was er mit file() eigentlich will.
Eine Domain will er wahrscheinlich nicht, oder etwa doch?
Domains gibt es bei diversen Providern und Domainregistraturen. Der OP möchte ein unter einer URL erreichbares Dokument abrufen. Dafür hat PHP eingebaute Wrapper, die diesen Vorgang so einfach wie das Lesen aus einer Datei machen. Doch diese Einfachheit hat seine Grenzen, auf die er in seinem Fall gestoßen ist.
Das sieht dann wohl so aus, als ob der server:8000 sich nicht mit den minimalen HTTP-Headern zufrieden gibt, die PHPs URL-Wrapper sendet.
Was würdest du von diesem Verhalten erwarten?
Es klopft an deiner Tür.
Du fragst "wer ist's".
Nichts antwortet.
Fall erledgt.
Da verstehe ich nicht, worauf du hiaus willst. Das ist weder das übliche HTTP-Verhalten noch weißt du oder ich, was beim OP tatsächlich passiert, solange er es nicht analysiert und uns mitteilt. Meine Erfahrung in einem gleichgelagerten Fall sagt mir, dass es an einer fehlenden Zeile im Request liegen kann. Minimal sieht ein Request so aus:
GET /ressource HTTP/1.1
Für virtuelle mehrere Hosts unter der gleichen IP-Adresse benötigt man noch
Host: www.example.net
Das reicht, um einen Request beantworten zu können. Und PHPs URL-Wrapper sendet in der Tat in der Grundkonfiguration nur diese beiden Zeilen. Das System aus meiner Erfahrung bestand darauf, eine User-Agent-Zeile gesendet zu bekommen. Wie ich grad in der Dokumentation fand, kann man diese mit einem konfigurierten ini_set('user_agent', ...); senden lassen, dann braucht es auch kein fsockopen().
echo "$verabschiedung $name";