Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сброс соединения на выделенном сервере при импорте
Форумы портала PHP.SU » Серверное администрирование » Администрирование *nix » Сброс соединения на выделенном сервере при импорте

Страниц (1): [1]
 

1. SergeantPEPPER - 26 Октября, 2016 - 17:38:32 - перейти к сообщению
Добрый день!

Система Linux a4 2.6.32-042stab116.2
Версия Апач: Apache/2.4.10 (Debian)


В сущности вопрос в следующем: есть модуль экспорта товаров через админку (OpenCart), сейчас в базе несколько тысяч товаров. При экспорте скрипт работает несколько минут, после чего отдает файл на скачку, но через раз, иногда страница отвечает «Соединение сброшено».
При импорте страница всегда отвечает «Соединение сброшено». Файл xls около 6Мб.
Сервер свой.
В конфиге были убраны лимиты практически всего, что я сам знал:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. max_execution_time = 100000000
  3. memory_limit = -1
  4. post_max_size = 800M
  5. realpath_cache_size = 999M
  6. upload_max_filesize = 800M
  7.  


На локалхосте все отрабатывало хорошо, вне зависмости от того, сколько фактически времени занимал импорт товаров из xls.
Какие еще параметры могут влиять на сброс соединения?

p.s. Используется система OpenCart, а именно модуль Export/Import Tool (V2.31) for OpenCart 1.5.1 to 1.5.6.x
2. SergeantPEPPER - 27 Октября, 2016 - 11:57:50 - перейти к сообщению
Заранее прошу прощения, но возможно, я написал не в ту ветку форума. Все же вопрос касается настройки php.
3. Fart - 28 Октября, 2016 - 21:05:13 - перейти к сообщению
В логах что?
4. LIME - 29 Октября, 2016 - 03:54:02 - перейти к сообщению
SergeantPEPPER зачем такое делать синхронно? пусть запрос пинает команду которая формирует файл
клиент пусть периодически запрашивает этот файл
5. SergeantPEPPER - 30 Октября, 2016 - 09:03:19 - перейти к сообщению
Fart пишет:
В логах что?

Да в том то и дело, что ничего.

Однако удалось дебагом уточнить, проблема вот здесь:
PHP:
скопировать код в буфер обмена
  1. $objReader = PHPExcel_IOFactory::createReader($inputFileType);
  2. $objReader->setReadDataOnly(true);
  3. $reader = $objReader->load($filename);

Вероятно, файл на 150 000 строк просто съедает всю память.
Вот статья на эту тему: https://habrahabr[dot]ru/post/148203/


LIME пишет:

SergeantPEPPER зачем такое делать синхронно? пусть запрос пинает команду которая формирует файл
клиент пусть периодически запрашивает этот файл

Соглашусь, дадите какую нибудь ссылку пример?
На сайте используется уже готовый модуль oc, который придется модифицировать.
6. zypikov - 30 Октября, 2016 - 22:25:23 - перейти к сообщению
SergeantPEPPER пишет:

Вероятно, файл на 150 000 строк просто съедает всю память.

А в пых-коде нельзя ограничить количество генерируемых строк?

 

Powered by ExBB FM 1.0 RC1