Я не реализовал это полностью, но похоже, что он должен работать. В Apache conf
:
SetEnvIf Content-Type ^(multipart/form-data)(.*) MULTIPART_CTYPE=$1$2
RequestHeader set Content-Type application/x-httpd-php env=MULTIPART_CTYPE
RequestHeader set X-Real-Content-Type %{MULTIPART_CTYPE}e env=MULTIPART_CTYPE
Кажется, что настройка Content-Type
на application/x-httpd-php
решает исходную проблему PHP-анализа тела, а проблема Норберта Фаркаса сообщила: «Apache отправляет обратно PHP исходный код ". Затем тело доступно на php://input
и действительном типе содержимого в заголовке X-Real-Content-Type
. (Этот заголовок может быть вам не нужен - переменная MULTIPART_CTYPE
, похоже, не показывалась в моем $_ENV
, но новый заголовок сделал.) Все остальные запросы должны обрабатываться как обычно.
Благодаря Anti Veeranna для большей части этого! :)
EDIT: P.S. Очевидно, что это специфичный для Apache, но в некоторых других конфигурациях PHP может быть проще.