2013-04-30 6 views
1

Проблема заключается в том, что функция обновления загрузки php 5.4 не работает. Что бы я ни делал, переменная сеанса не заполняется.Действительно ли работает функция загрузки PHP?

  • Переменные session.upload-progress заполнены и установлены.
  • file_uploads включен
  • upload_max_filesize установлен 2000M
  • post_max_size установлен в 2000M
  • upload_tmp_dir записываемый
  • скрытой переменной в форме устанавливается, его прежде, чем любые элементы ввода и его имя: ini_get("session.upload_progress.name")

До сих пор не удалось добиться успеха в Debian с помощью dotdeb php 5.4.14 и apache2 с модулем php5.

Я также проверил крюк apc rfc1867. Просто не работает. То же самое с расширением uploadprogress. Есть идеи?

Примеры используются

для uploadprogress: http://www.ultramegatech.com/2010/10/create-an-upload-progress-bar-with-php-and-jquery/

для АРС: http://blog.famillecollet.com/post/2011/01/12/File-upload-progress-in-PHP-with-APC

для PHP 5.4: https://github.com/chemicaloliver/PHP-5.4-Upload-Progress-Example

PHP 5.4 рядный (после начала загрузки, просто называя тот же файл с другой вкладки ...):

upload.php:

<? 
session_start(); 
var_dump($_SESSION[ ini_get("session.upload_progress.name") . "123"]); 

?> 

<form action="upload.php" method="POST" enctype="multipart/form-data"> 
<input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" /> 
<input type="file" name="file1" /> 
<input type="file" name="file2" /> 
<input type="submit" /> 
</form> 
+0

Как выглядит ваш код? – powtac

ответ

1

ад, Nginx был виновником. Если он используется как прокси-сервер, он сначала сохраняет всю загрузку и когда весь файл прибывает, отправляет его в Apache или любой другой сервер, который вы используете. Следовательно, нет загрузки.

+0

Вы должны проверить конфигурацию Nginx. Я могу себе представить, что есть некоторая конфигурация, которая позволяет контролировать это поведение. – hakre

0

Nginx 1.7.11 теперь имеет опции, чтобы отключить буферизацию загрузки:

Характеристика: "proxy_request_buffering", "fastcgi_request_buffering", "scgi_request_buffering" и "uwsgi_request_buffering" директивы.

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_request_buffering

и эти опции прогресс загрузки в то время как теперь работать с ним!

Смежные вопросы