2008-11-21 12 views
1

Я создал один образец PHP-скрипта для загрузки листов Excel с большими размерами. Также процесс, происходящий с каждым записям, указанным в листах excel, является сложным. Чтобы разрешить большие размеры, я добавил необходимые значения PHP ini в файле конфигурации Apache, чтобы переопределить фактические значения PHP ini.Apache обслуживает пустую страницу

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

Просто хотел знать, есть ли какие-либо случаи/возможности, когда Apache может обслуживать пустую страницу?

Но когда я привязывал журналы уровня приложения, очень ясно, что скрипт завершает работу отлично. Возможно, мой подозреваемый может произойти, как только работа завершится, в то время как Apache собирается вернуть страницу результатов, что-то случилось бы, но я не уверен в этом.

ответ

2

Я предполагаю, что это не ошибка Apache, и ваш браузер просто отключает соединение. Вы можете попробовать некоторые из методов these и посмотреть, поможет ли это кому-либо.

1

Возможно ли, что «else» -case неправильно обрабатывается? Вы можете предположить, что файл был загружен успешно, но это не обязательно означает, что он это сделал. Добавляли ли вы только «upload_max_filesize», а также «post_max_size» (общая сумма всех ваших форм: ввод текста + файлов)?

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

error_reporting(E_ALL); 
+0

Возможно, вы захотите также сделать ini_set ('display_errors', true); – 2008-11-21 08:59:04

+0

Я уверен, что сценарий успешно загрузил файл и даже выполнил задачи, которые он должен был выполнить. Также я переопределил значение post max в файле apache conf. Все флаги ошибок были включены. – 2008-11-21 10:38:58

-1

Вы можете сделать две вещи, чтобы избежать этой проблемы

  1. Запрашивать конвертировать Excel файл в формате CSV, если это возможно в вашей ситуации. поскольку csv намного легче, чем лист excel.
  2. попробуйте использовать заголовок («newpage.php») в сценарии, чтобы перенаправить пользователя на новую страницу
+0

Требование состоит в том, чтобы позволить пользователю загружать файлы csv и excel. – 2008-11-21 10:41:55

0

Если он собирается занять некоторое время, чтобы обработать запрос/загрузку, вы можете рассмотреть вопрос о создании очереди , где пользователь знает, что файл был успешно загружен, и должен просто ждать (может проверить статус на странице, возможно); и у вас есть процесс cronjob/background для преобразования файлов и их обновления. Таким образом, это не пугает время пользователя.

0

Похоже, проблема памяти, попробуйте увеличить memory_limit или оптимизацию использования памяти

распределения памяти/ошибки ошибки сегментации результатов на пустых страницах и никакой информации журнала.

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