Apache + fpm + leerer POST im PHP

Zwirni

Member
Hi,
hab hier ein seltsames Phänomen dem ich bisher bei keinem Projekt begegnet bin.
Es geht um einen Debian 8 Server mit Apache+ispconfig+postfix etc. (installiert nach Tutorial) mit PHP 5.6, welches über ispconfig pro vhost wahlweise als Modul oder per fpm angesprochen werden kann sowie PHP 7.0, welches nur per fpm angesprochen werden kann.
Bei einigen Projekten auf diesem System habe ich folgenden Eintrag in der .htaccess-Datei:

# Regeln für Zugriffe definieren
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* forward.php [L]

Das funktioniert auch prima, bei allen normalen Aufrufen, egal welche PHP-Version ich für den vhost aktiviere. Ebenso bei Formularen, die per POST z.B. an meinedomain/upload.html abgeschickt werden.

Es funktioniert jedoch nicht bei folgender Kombination:
Wenn ich einen POST-Request an eine URL mit Pseudo-Unterverzeichnissen schicken, z.B. meinedomain/ziel/verzeichnis/, kommt in der forward.php ein leeres $_POST-Array im PHP an, wenn ich PHP über FPM laufen lasse (egal ob PHP 5.6 oder 7.0). Sobald ich auf das PHP-Modul umstelle klappt es einwandfrei. Die Quelle dieses POST-Requests ist immer ein externer Dienst, der per POST Daten dorthin schicken soll.
Wenn ich das Pseudoverzeichnis erstelle und dahin eine index.php ablege, dann kommt dort der POST-Request auch mit fpm korrekt an (kann ich nur nicht machen, da die Verzeichnisse variabel sind, daher sollte es über die forward.php im root-Verzeichnis des vhosts laufen).

Daher habe ich nun im Verdacht, dass irgendwo etwas beim fpm nicht stimmt - nur was? Habt ihr eine Idee?

Zwirni
 

Werbung

Top