Рубрики
Uncategorized

Советы Nginx: индикатор выполнения загрузки PHP – 0001

Автор оригинала: David Wong.

Официальная поддержка прогресса 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, пожалуйста, решите проблему самостоятельно.