Задать вопрос
@Multigame

Как считать из потока более 16кб? Какие директивы режут поток?

Добрый день.
На сервер отправляется запрос POST тело которого - файл (не форма с файлами, а сам файл).
На сервере пытаюсь получить данные
$theStream = fopen('php://input', 'r');
			$contents = stream_get_contents($theStream);
			var_dump($contents);
			file_put_contents('/srv/www/r.txt',$contents,FILE_APPEND);
			exit();


И если тело POST меньше 16 кб - то все ок, выводится вардампом, пишется в файл. А вот если больше - то в $contents строка нулевой длинны.

Конфигурация: nginx + php-fpm(7.1.10).
Чую что где-то либо в nginx, либо в php режется конфигом такая отправка.... Подскажите на какие директивы смотреть?
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
@neol
Может client_body_temp_path в nginx не доступен на запись?
Для проверки можно попробовать добавить в конфиг
client_body_in_file_only clean (при этом вроде любой post запрос должен быть с ошибкой вне зависимости от размера)
или просто посмотреть error.log, по идее там должна быть ругань по этому поводу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Wexter
upload_max_filesize
Так же посмотрите memory_limit, он не должен быть меньше upload_max_filesize и post_max_size
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы