@MaKS_Ibl4

Почему полностью не выполняется скрипт добавления товаров?

Здравствуйте. Я написал код для добавления товаров в WC.
В скрипте я подключаю wp-load.php и пользуюсь функциями WP и WC для этого.
И столкнулся с такой проблемой, что скрипт добавляет n-товаров и потом просто выключается (запускаю через консоль php script.php).
В консоли ошибок нет, в логах wp то же ничего не появляется.
При этом по мере выполнения он по идеи должен в консоли писать время старта, лог добавления и время завершения.
Но при этом консоль пустая, а по факту завершения (вылета) он отображает сразу все строчки которые должен был по мере выполнения отображать.
Куда копать?
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 1
FoxCloud
@FoxCloud
Хостинг и облачные сервисы
Возможно срабатывает таймаут выполнения команды, для этого используются следующие директивы max_execution_time (значение по умолчанию обычно 30 секунд), чтоб изменить значение, в начале работы скрипта необходимо добавить следующую строку:

ini_set('max_execution_time', 600); // тем самым у скрипта будет таймаут выполнения, равный 600 секундам

Также на выполнение скрипта может влиять выделенный лимит памяти, для этого используется директива memory_limit

1. PHP, которую вы используете в консоли и PHP которая используется на вашем сайте могут быть разные.
Для того, чтобы исправить вашу проблему нужно:
Изменить параметры max_execution_time и memory_limit в большую сторону для версии PHP, на которой работает ваш сайт! Не для консольной версии PHP. Ниже описано как это сделать:

1. Проверьте текущие параметры max_execution_time и memory_limit. Для этого зайдите в корень сайта. Создайте файл с любым именем, к примеру myinfo.php и внесите туда код:
<?php
phpinfo();

Файл сохраните, и откройте файл в браузере: xn--_-7sbbf2b7bj7b/myinfo.php
В открывшимся окне найдите значения параметров max_execution_time и memory_limit.

2. Измените параметры max_execution_time и memory_limit:
Зависит от платформы где ваш сайт работает. Изменить параметры рекомендуем следующими способами:
Способ №1 - .user.ini
- В корне сайта создайте файл .user.ini и впишите параметры нужные вам. Пример:
max_execution_time=600
memory_limit=800M
Обновите страницу xn--_-7sbbf2b7bj7b/myinfo.php чтобы убедиться, что параметры изменились

Способ №2 - .htaccess
В файле .htaccess
- В корне сайта создайте файл .htaccess и впишите параметры нужные вам. Пример:
php_value max_execution_time 600
php_value memory_limit 800M
Обновите страницу xn--_-7sbbf2b7bj7b/myinfo.php чтобы убедиться, что параметры изменились

Способ №3 - В конфигурации php панели управления
Наверняка у вас установлена панель управления хостингом.
В настройках PHP чаще всего можно выставить нужные параметры.

Если вы столкнулись со сложностями, обратитесь к хостинг компании и попросите поддержки в этом вопросе или указания по смене параметров.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы