php

PHP funktioniert nicht mehr nach Update auf Apache 2.4.26 – Problemlösung

Lesezeit: < 1 Minute

Mit dem Update von Apache 2.4.25 auf Apache 2.4.26 gab es eine kleine, aber gravierende Änderung, die dazu führen kann, dass der Aufruf von vielen PHP-Seiten nicht mehr funktioniert. Grund ist eine Änderung im Verhalten des Apache-Moduls mod_proxy_fcgi , welches dafür verantwortlich ist, Anfragen vom Apache an PHP durchzureichen. Die aktuelle Änderung bewirkt, dass die Variablen

$_SERVER["SCRIPT_NAME"]

und

$_SERVER["PHP_SELF"]

welche normalerweise den kompletten Pfad zum aufgerufenen Skript enthalten, nun nur mit dem Skriptnamen – ohne Pfad – gesetzt sind. Wenn man diese beide Variablen in seinem PHP-Skript verwendet, um z.B. nach dem Aufruf eines Formulars per POST wieder zu diesem Formular zurück zu kehren, wird durch die Änderung an eine falsche Stelle geleitet. Ergebnis ist ein Fehler 404 (File not found, Seite nicht gefunden) und je nach Konfiguration im Logfile eine Fehlermeldung AH01071: Got error ‚Primary script unknown\n‘.

Die Lösung des Problems besteht darin, in der Apache-Konfiguration (z.B. httpd.conf) eine neue Zeile

ProxyFCGIBackendType GENERIC

einzutragen. ProxyFCGIBackendType ist eine mit der Apache Version 2.4.26 eingeführte Direktive, welche genau dieses Verhalten beeinflusst. Nähere Information dazu findet man auf der Apache Homepage.

Schreiben Sie einen Kommentar