Intereting Posts

Прогресс загрузки сеанса PHP EMPTY

этот вопрос задавали много раз, но я боюсь с этой проблемой с трех дней, и я полностью смущен.

Я не могу заставить PHP сохранять сведения о файлах с расширением в $ _SESSION ( http://www.php.net/manual/en/session.upload-progress.php ). Все, что я могу получить, это пустая сессия.

Самый простой пример моего кода:

index.php

<?php session_start(); $_SESSION['test'] = 'TEST'; ?> <form action="index.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> <?php print_r($_SESSION); ?> 

результат – после нажатия submit;)

 Array ( [test] => TEST ) // nothing more... 

php -i | grep upload_progress

 session.upload_progress.cleanup => Off => Off session.upload_progress.enabled => On => On session.upload_progress.freq => 1% => 1% session.upload_progress.min_freq => 1 => 1 session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS session.upload_progress.prefix => upload_progress_ => upload_progress_ 

php -i | размер grep

 post_max_size => 2G => 2G realpath_cache_size => 16K => 16K upload_max_filesize => 2G => 2G Command buffer size => 4096 Read buffer size => 32768 

  • Размер файла загружаемого файла (локальный хост): 2 x 1,5 ГБ
  • Время выполнения: 8 секунд
  • Я использую Gentoo linux с php 5.5.12, Apache 2 скомпилирован без поддержки Fast CGI .

Библиография:

https://stackoverflow.com/a/21851657/1125465 – насколько я знаю, каждый из них в порядке.

https://stackoverflow.com/a/13186859/1125465 – пробовал все скрипты и все версии. СЕССИЯ supgllobal пуста для каждого.

https://stackoverflow.com/a/11485170/1125465 – Как я прокомментировал этот ответ … Не ответ.

Пожалуйста помоги! Я начинаю терять сознание. С наилучшими пожеланиями.


UPDATE phpinfo () скриншот результата:

Снимок экрана phpinfo ()

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

Solutions Collecting From Web of "Прогресс загрузки сеанса PHP EMPTY"

У меня была точно такая же проблема. Решением было просто заменить обработчик из FastCGI на PHP-FPM. Также работает на Mod PHP, но он не работает на FastCGI даже с новым PHP.

Я думаю, вы пропустили самую важную часть документации

QUOTE

Когда включена опция INI session.upload_progress.enabled, PHP сможет отслеживать ход загрузки отдельных загружаемых файлов. Эта информация не особенно полезна для самого фактического запроса на загрузку, но во время загрузки файла приложение может отправить запрос POST на отдельную конечную точку (например, через XHR), чтобы проверить статус.

Это означает, что информация о сеансе доступна только тогда, когда выполняется загрузка.

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