К содержимому
EN RU UA
Подключить поставщика

Что нужно от хостинга

PHP 7.4 или новее, четыре расширения, доступ к базе магазина. Обычного shared-хостинга хватает.

На этой странице

Программа рассчитана на обычный хостинг, а не на выделенный сервер. Всё, что ниже, проверяет установщик на первом шаге, а потом то же самое всегда доступно в «Настройки → Диагностика».

PHP

Версия 7.4 или новее. Код проверен на 7.4 и на ветке 8.x.

Обязательные расширения:

  • pdo_mysql — через него программа ходит и в свою базу, и в базу магазина;
  • gd — картинки товаров: изменение размера и водяной знак;
  • mbstring — тексты описаний: длина, регистр, обрезка;
  • xml — разбор XML- и YML-прайсов.

Необязательные, но полезные:

  • zip — без него не читаются прайсы XLSX. Пока его нет, поставщика можно загружать в CSV или XML;
  • iconv — нужен тем поставщикам, которые отдают прайс в windows-1251; без него в названиях будут кракозябры.

curl не нужен: прайсы качаются через сокеты.

Лимиты

Память — главное ограничение, и задаёт его хостинг, а не программа. Прайс разбирается в памяти целиком, и на разбор уходит примерно втрое больше, чем весит файл: при 128 МБ это прайс тысяч на тридцать позиций, при 256 МБ — вдвое больше. Excel дороже всех, книга читается целиком; XML и CSV заметно дешевле.

Два предупреждения для больших прайсов. У разборщика XML есть свой потолок около 10 МБ на файл — он снимается отдельно, при настройке поставщика. И на хостингах с CloudLinux память считают по реально занятой процессом, а она в разы больше той, которую показывает PHP, — там потолок ниже расчётного.

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

База и магазин

Нужна база MySQL — своя или та же, что у магазина, и доступ к базе магазина для записи товаров. Отдельный пользователь базы не обязателен.

Cron

Одно задание планировщика, чтобы обновление шло само. Не обязательно: всё то же самое запускается из браузера кнопкой.