Додайте свій проект безкоштовно і почніть отримувати пропозиції від фрілансерів-виконавців вже через хвилини після публікації!

Оптимизировать модуль Экспорт/Импорт для Opencart

закрито без виконання


Задача заключается в оптимизации модуля Export/Import Tool (V3.17) for OpenCart 2.x 

Дело в том, что  модуль импорт/экспорт (скрипт который выполняет эту работу) перерасходует память, и при добавлении новых позиций забивается php_memory_limit. 

Соответсвенно делаем экспорт, для добавления нового товара,  а файл поврежден и ничего не работает. 


Задача. Нужно оптимизировать работу именно модуля. 

Запрещенно:

1) Добавлять значение в index.php

2) Не добавлять значение в .htaccess

И.Т.Д 

Работаем сугубо с модулем и сугубо над ошибкой памяти. 


Требование: Опыт работы с модулями Opencart и в системе опенкарт 


P/s  Выдает ошибку  - Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 85 bytes) 



  1. ставка прихована фрілансером
  • Семен Семенов
    Поскаржитися | 15 листопада о 17:49 |

    Добрый вечер. Работаю с этим модулем постоянно, поэтому сталкивался с таким. Все зависит от количества товаров, а также хостинга и его настроек, не факт что переделка модуля сильно поможет. Могу предложить другой вариант без доработки модуля для нормальной работы с импортом/экспортом. 

  • Александр Щ.
    Поскаржитися | 15 листопада о 18:01 |

    Добрый вечер!

    128M  нормальное кол-во памяти,  я бы попробовал определить сколько надо для работы. 

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

    С уважением Александр.

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 18:03 |

    Хмммм странно но у меня как рас 128 стоит) 

  • Александр Щ.
    Поскаржитися | 15 листопада о 20:53 |

    Ничего странного - если модулю для работы надо более 128M При попытке выделить память сверх этого лимита ( это может быть создание объекта, обявление переменной  и т.д. ) - будет FATAL ERROR - что Вы и наблюдаете.

    Может быть что модулю не хватает (В вашей ситуации) немного памяти  и, например при 256 - все будет отлично, а может надо 1024 или больше - можно только мерять, ну и понятно иметь какой-то запас.

    Рекомендую решать проблему именно увеличением памяти, заменой модуля (если очень критична разница ), но не оптимизацие модуля... не уверен, что можете получить адекватный результат за разумные деньги...

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 18:07 |

    У файла обэем 241 Б но я не могу его открыть даже

  • Александр Щ.
    Поскаржитися | 15 листопада о 21:19 |

    Вот еще перевод (ggole) из документации по модулю.

    Требования и ограничения
    Требования к памяти могут быть довольно высокими.

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

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 21:36 |

    а если загружать частями?....допустим добавил в таблицу 1000 товаров, залил на сайт. Далие берем читую таблицу и начинаем добавлять 10001 товар итд....Должно же спработать? 

  • Александр Щ.
    Поскаржитися | 15 листопада о 21:46 |

    Извините не пользовался модулем - не могу проконсультировать, не глядя.

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 21:37 |

    Я к тому, что можно добавлять на сайт вторую часть товаров? и первая часть которая на сайте не удалится? не замениться?

  • Семен Семенов
    Поскаржитися | 15 листопада о 21:38 |

    Да, так и нужно. Нет, не заменится, просто добавится. Вот если нужно выгружать уже товары, которые добавлены, то тогда партиями выгружать.

  • Семен Семенов
    Поскаржитися | 15 листопада о 21:37 |

    Да, так и нужно. Об этом и писал вам в Лс.

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 21:37 |

    Я боюсь что сотреться старый товар а поверх его добавиться новый

  • Семен Семенов
    Поскаржитися | 15 листопада о 21:39 |

    Главное следить за id товара, тогда не перепишет.

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 21:40 |

    Я понял, если мы первый файл закочили на товаре с ID 1000, то новый файл мы начинаем с товара под ID 1001....ну логично вроде)

  • Семен Семенов
    Поскаржитися | 15 листопада о 21:43 |

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

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 21:47 |

    Нада будет добавить и сохранить все файлы в папке на столе , потом когда изминения будут, менять и заливать))) Спасибо, просветлили, а то я чет приуныл уже с этим импортом, все таки 21000 строк добавил, голова уже не варит) 

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 21:43 |

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

  • Семен Семенов
    Поскаржитися | 15 листопада о 21:45 |

    Предусмотрена, только есть нюансы, а именно как раз и касается id товаров.

  • Заказчик Про — замовник проекту
    Поскаржитися | 15 листопада о 21:49 |

    Спасибо еще рас, ну думаю это уже не особо важно, мелкие правки можно и через админку сделать) 

  • Семен Семенов
    Поскаржитися | 15 листопада о 21:55 |

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

  • Александр Щ.
    Поскаржитися | 15 листопада о 21:49 |

    Это тот, который  241 байт ??

    У файла обэем 241 Б но я не могу его открыть даже

    Вы его блокнотом откройте - и скорее всего увидите что-то типа
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 85 bytes)

  • Александр Щ.
    Поскаржитися | 15 листопада о 21:50 |

    Т.е. и для выгрузки памяти не хватает ....

  • Додати

Замовник
Заказчик Про
Україна Київ  1   0
Проект опублікований
15 листопада о 16:13
54 перегляди
Місцеположення виконавця
Україна Україна
Поділитися