Как мне получить client_max_body_size (nginx - php-fpm) как значение в PHP?

Я написал загрузчик файлов для пользовательского приложения, которое разбивает файл на куски и отправляет его на сервер через ajax. Проблема в том, что я могу вытащить upload_max_filesize и post_max_size с помощью ini_get, однако я не могу получить client_max_body_size, который nginx использует для устранения 413 ошибок; а пространство для ответов забито людьми, пытающимися превысить предел. Я хочу, чтобы мое программное обеспечение обнаруживало и обходило предел (поскольку оно уже так хорошо разбивает вещи). Как я могу определить client_max_body_size (или любые другие потенциальные предельные значения) как значение в php (в идеале в общем виде, который не требует изменения файлов nginx, чтобы этот код был готов для публики, но я возьму то, что Я могу получить). Заранее спасибо!

Если он недоступен как переменная PHP ini, вам может потребоваться запустить команду, которая сбрасывает значения конфигурации nginx например exec('nginx -T') и grep / parse для нужного значения

scrowler 27.08.2018 01:39

Я думаю, вы можете получить только PHP upload_max_filesize, если вы не внесете изменения в конфигурацию файла conf nginx, чтобы передать это значение в $_SERVER или аналогичный, но это не поможет с вашим общим подходом

Cemal 27.08.2018 01:40

exec не кажется хорошей идеей. Мне отказано в разрешении ... Если мне придется пойти так далеко, я думаю, я смогу понять, почему все хотят увеличить этот предел ... Тем не менее, спасибо за идею.

Jarrod Juleff 27.08.2018 06:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
908
1

Ответы 1

Я думаю, что наиболее разумным решением будет жестко запрограммировать его в конфигурации, чтобы люди могли вручную настраивать свои среды в соответствии со своими ограничениями. Я надеялся, что есть лучшее решение общий, но думаю, что его нет.

Другие вопросы по теме