Официальная поддержка прогресса PHP не применима к nginx + PHP через fastcgi. Для получения соответствующих статей, пожалуйста, обратитесь к разделу использование сеанса для отслеживания хода загрузки. Последнее предупреждение этой статьи указывает на то, что nginx будет обрабатывать загрузку самостоятельно, в то время как PHP может получить только один конечный результат и не может отслеживать процесс. Последнее сообщение (от С. заргеса) содержит такое же предупреждение. Таким образом, мы должны найти другие способы, такие как APC. Другой вариант-модуль загрузки nginx.
О модуле загрузки nginx
Этот модуль был разработан Холодковым пять лет назад и долгое время не обновлялся. Его адрес исходного кода. Вот этот документ. Загрузите исходный код напрямую. После загрузки распакуйте архив:
tar xvfz nginx_upload_module-2.0.11.tar.gz
Нужно залатать
Код будет длиться вечно, ошибка будет длиться вечно. За эти годы многое в коде стало совершенно другим. Многие жуки потеряли свой первоначальный вид, оставив лишь кучу жуков, напоминающих нам о славном прошлом. Сейчас nginx сильно изменился по сравнению с тем, что было 5 лет назад. Например, тело запроса на чтение HTTP NGX удалило элемент для записи, который требуется модулем загрузки nginx. В результате модуль загрузки nginx не может быть скомпилирован. Пожалуйста, перейдите по этой ссылке для обсуждения этого вопроса. Мы хотели бы поблагодарить этого друга: давроманиака, который модифицировал модуль загрузки nginx и исправил ошибку, чтобы его можно было скомпилировать. Это его сообщение в блоге о пересмотре проблемы. Все, что нам нужно сделать, это загрузить его изменения и исправить модуль загрузки nginx. Имя загруженного файла исправления: davromaniak.txt 。
Подлатать
Используйте следующую команду:
CP darvromaniak.txt [directory of nginx [upload] module] patch ngx_http_upload_module.c davromaniak.txt
Компиляция модулей в nginx
Сначала загрузите исходный код nginx по этой ссылке. Затем скомпилируйте:
cd nginx-1.5.8 . / configure -- add module = [the directory of nginx ﹣ upload ﹣ module] make make install
После короткого ожидания компиляция и установка завершены, и вы можете перезапустить nginx.
Будьте осторожны
Я использовал более старый модуль загрузки nginx (2.0). Если вы используете новую версию 2.2, пожалуйста, решите проблему самостоятельно.