Nachträge und ein Problem mit dem alten mod_cgi
bearbeitet von RaketenwilliIm Apache-Handuch steht fast nichts. Aber in der [RFC3875 für CGI](https://www.ietf.org/rfc/rfc3875), dort bei Punkt 3.6.6.
Wenn man **allen Ernstes PHP als CGI mit dem Apache und mod_cgi** benutzen sollte, **dann hat man ein Problem**:
* `http_response_code(404)` bewirkt **nichts**.
* **Die komplette Funktion header() ist völlig nutzlos.**
* `HTTP/1.1 404 Not Found` in den Header zu schreiben führt zu einem Error 500. (Serverfehler)
* Aber `status: 404` statisch in den Header zu schreiben (oder dort per echo auszugeben) funktioniert…
Alles mit und ohne `ob_start()` getestet.
Mit **„PHP 8.1 als cgi-fcgi“** hingegen funktionieren
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
* `header('status: 404')`
mit jeweils dem selben positiven Ergebnis.
Mit **„PHP 8.1 als Modul“** funktionieren:
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
Da jetzt das gezeigte Ausführen von PHP innerhalb des `oldscool`-Modules `mod_cgi` allenfalls experimentellen Charakter hat (und ergo wirklich alles andere als die Regel ist) würde ich bei den beiden zuletzt genannten Möglichkeiten bleiben, die mit PHP als Modul aber auch mit `cgi_fcgi` tun, was sie sollen.
Nachträge und ein Problem mit dem alten mod_cgi
bearbeitet von RaketenwilliIm Apache-Handuch steht fast nichts. Aber in der [RFC3875 für CGI](https://www.ietf.org/rfc/rfc3875), dort bei Punkt 3.6.6.
Wenn man **allen Ernstes PHP als CGI mit dem Apache und mod_cgi** benutzen sollte, **dann hat man ein Problem**:
* `http_response_code(404)` bewirkt **nichts**.
* **Die komplette Funktion header() wird ebenso nutzlos.**
* `HTTP/1.1 404 Not Found` in den Header zu schreiben führt zu einem Error 500. (Serverfehler)
* Aber `status: 404` statisch in den Header zu schreiben (oder dort per echo auszugeben) funktioniert…
Alles mit und ohne `ob_start()` getestet.
Mit **„PHP 8.1 als cgi-fcgi“** hingegen funktionieren
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
* `header('status: 404')`
mit jeweils dem selben positiven Ergebnis.
Mit **„PHP 8.1 als Modul“** funktionieren:
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
Da jetzt das gezeigte Ausführen von PHP innerhalb des `oldscool`-Modules `mod_cgi` allenfalls experimentellen Charakter hat (und ergo wirklich alles andere als die Regel ist) würde ich bei den beiden zuletzt genannten Möglichkeiten bleiben, die mit PHP als Modul aber auch mit `cgi_fcgi` tun, was sie sollen.
Nachträge und ein Problem mit dem alten mod_cgi
bearbeitet von RaketenwilliIm Apache-Handuch steht fast nichts. Aber in der [RFC3875 für CGI](https://www.ietf.org/rfc/rfc3875), dort bei Punkt 3.6.6.
Wenn man **allen Ernstes PHP als CGI mit dem Apache und mod_cgi** benutzen sollte, **dann hat man ein Problem**:
* `http_response_code(404)` bewirkt **nichts**.
* **Die komplette Funktion header() wird ebenso nutzlos.**
* `HTTP/1.1 404 Not Found` in den Header zu schreiben führt zu einem Error 500. (Serverfehler)
* Aber `status: 404` statisch in den Header zu schreiben (oder dort per echo auszugeben) funktioniert…
Alles mit und ohne `ob_start()` getestet.
Mit **„PHP 8.1 als cgi-fcgi“** hingegen funktionieren
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
* `header('status: 404')`
mit jeweils dem selben positiven Ergebnis.
Mit **„PHP 8.1 als Modul“** funktionieren:
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
Da jetzt das gezeigte Ausführen von PHP innerhalb des `oldscool`-Modules `mod_cgi` allenfalls experimentellen Charakter hat (und ergo wirklich alles andere als die Regel ist) würde ich bei den beiden zuletzt genannten Möglichkeiten bleiben.
Nachträge und ein Problem mit dem alten mod_cgi
bearbeitet von RaketenwilliIm Apache-Handuch steht fast nichts. Aber in der [RFC3875 für CGI](https://www.ietf.org/rfc/rfc3875), dort bei Punkt 3.6.6.
Wenn man **allen Ernstes PHP als CGI mit dem Apache und mod_cgi** benutzen sollte, **dann hat man ein Problem**:
* `http_response_code(404)` bewirkt **nichts**.
* **Die komplette Funktion header() wird ebenso nutzlos.**
* `HTTP/1.1 404 Not Found` in den Header zu schreiben führt zu einem Error 500. (Serverfehler)
* Aber `status: 404` statisch in den Header zu schreiben (oder dort per echo auszugeben) funktioniert…
Alles mit und ohne `ob_start()` getestet.
Mit **„PHP 8.1 als cgi-fcgi“** hingegen funktionieren
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
* `header('status: 404')`
mit jeweils dem selben positiven Ergebnis.
Mit **„PHP 8.1 als Modul“** funktionieren:
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
Da jetzt das gezeigte Ausführen von PHP innerhalb des `oldshool`-Modules `mod_cgi` allenfalls experimentellen Charakter hat (und ergo wirklich alles andere als die Regel ist) würde ich bei den beiden zuletzt genannten Möglichkeiten bleiben.
Nachträge und ein Problem mit dem alten mod_cgi
bearbeitet von RaketenwilliIm Apache-Handuch steht fast nichts. Aber in der [RFC3875 für CGI](https://www.ietf.org/rfc/rfc3875), dort bei Punkt 3.6.6.
Wenn man **allen Ernstes PHP als CGI mit dem Apache und mod_cgi** benutzen sollte, **dann hat man ein Problem**:
* `http_response_code(404)` bewirkt **nichts**.
* **Die komplette Funktion header() wird ebenso nutzlos.**
* `HTTP/1.1 404 Not Found` in den Header zu schreiben führt zu einem Error 500. (Serverfehler)
* Aber `status: 404` statisch in den Header zu schreiben (oder dort per echo auszugeben) funktioniert…
Alles mit und ohne `ob_start()` getestet.
Mit **„PHP 8.1 als cgi-fcgi“** hingegen funktionieren
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
* `header('status: 404')`
mit jeweils dem selben positiven Ergebnis.
Nachträge und ein Problem mit dem alten mod_cgi
bearbeitet von RaketenwilliIm Apache-Handuch steht fast nichts. Aber in der [RFC3875 für CGI](https://www.ietf.org/rfc/rfc3875), dort auf Seite 66
Wenn man **allen Ernstes PHP als CGI mit dem Apache und mod_cgi** benutzen sollte, **dann hat man ein Problem**:
* `http_response_code(404)` bewirkt **nichts**.
* **Die komplette Funktion header() wird ebenso nutzlos.**
* `HTTP/1.1 404 Not Found` in den Header zu schreiben führt zu einem Error 500. (Serverfehler)
* Aber `status: 404` statisch in den Header zu schreiben (oder dort per echo auszugeben) funktioniert…
Alles mit und ohne `ob_start()` getestet.
Mit **„PHP 8.1 als cgi-fcgi“** hingegen funktionieren
* `http_response_code(404)`
* `header(HTTP/1.1 404 Not Found)`
* `header('status: 404')`
mit jeweils dem selben positiven Ergebnis.