Как исправить ошибку maximum execution time в WooCommerce при массовом импорте

Диагностика ошибки maximum execution time в WooCommerce

Ошибка maximum execution time возникает, когда PHP-скрипт выполняется дольше, чем установлено в параметре max_execution_time в конфигурации PHP. При массовом импорте товаров в WooCommerce, особенно если импортируется много изображений и метаданных, скрипт может превысить лимит времени и обрываться с ошибкой.

Чтобы убедиться, что именно эта ошибка тормозит импорт, проверьте логи сервера (например, error_log) и консоль браузера при загрузке страницы импорта. Также на экране может появиться сообщение типа: Fatal error: Maximum execution time of 30 seconds exceeded.

Как проверить текущий лимит времени выполнения PHP

<?php
phpinfo();
?>

Создайте файл phpinfo.php с этим содержимым и откройте его в браузере. Найдите параметр max_execution_time. По умолчанию обычно 30 секунд.

Пошаговое решение: увеличение времени выполнения PHP для импорта WooCommerce

1. Настройка PHP через php.ini

Если у вас есть доступ к php.ini на сервере, увеличьте лимит:

max_execution_time = 300

300 секунд (5 минут) обычно достаточно для больших импортов. После изменения перезапустите веб-сервер.

2. Изменение лимита через .htaccess (если используется Apache)

php_value max_execution_time 300

Добавьте эту строку в файл .htaccess в корне сайта, если хостинг поддерживает этот метод.

3. Установка лимита в коде WordPress

Если доступ к конфигурационным файлам ограничен, можно увеличить лимит в коде темы или плагина. Добавьте в functions.php темы или в отдельный плагин:

add_action('init', function() {
    @set_time_limit(300);
});

Функция set_time_limit увеличивает время выполнения для текущего запроса.

4. Разделение импорта на части

Если импорт все равно не удается, попробуйте разбивать CSV или XML-файл на более мелкие части. Это уменьшит нагрузку на сервер и снизит риск таймаута.

Проверка результата после внедрения

  • Запустите импорт заново с той же или увеличенной выборкой товаров.
  • Убедитесь, что ошибка maximum execution time не появляется.
  • Проверьте логи сервера на отсутствие новых ошибок.
  • Проверьте, что все товары импортировались корректно – изображения, метаданные, вариации.

Частые ошибки и как их исправить

  • Ошибка: Изменения в php.ini не применяются
    Причина: сервер использует другой конфигурационный файл или PHP работает в режиме CGI/FastCGI.
    Решение: уточните у хостера, какой файл конфигурации PHP используется, или воспользуйтесь методами через .htaccess или set_time_limit.
  • Ошибка: set_time_limit не работает
    Причина: функция отключена в настройках сервера из соображений безопасности.
    Решение: используйте изменение max_execution_time в php.ini или обратитесь к хостеру.
  • Ошибка: Импорт прерывается на определенном количестве товаров
    Причина: превышение лимитов памяти или времени, либо ограничения на стороне WooCommerce.
    Решение: увеличьте memory_limit в PHP, разбейте импорт на части, отключите плагины, которые могут мешать.

Практические советы по безопасности и производительности

  • Не увеличивайте max_execution_time без необходимости – слишком большой лимит может привести к зависанию сервера при ошибках в коде.
  • Перед массовым импортом отключайте кэширование (например, плагинов Cache или OpCache), чтобы избежать конфликтов.
  • Работайте с последними версиями WooCommerce и WordPress – они оптимизированы для больших операций с базой данных.
  • Используйте WP-CLI для импорта, если импорт очень большой – командная строка не ограничена временем выполнения веб-сервера.

Сравнение способов увеличения времени выполнения PHP

МетодПреимуществаНедостаткиПодходит для
php.iniГлобальный, надежныйТребует доступа к серверу, перезапуск сервераВыделенный сервер, VPS
.htaccessПросто настроить, быстроНе поддерживается на всех хостингахОбщий хостинг с Apache
set_time_limit()Гибко, работает на уровне PHPМожет быть запрещена настройками безопасностиОграниченный доступ к серверу
Оценка производительности WordPress с помощью Query Monitor
02.04.2026
Использование хука woocommerce_order_status_changed для автоматизации процессов в WooCommerce
02.06.2026
Как автоматизировать управление меню в WordPress с помощью кода
31.01.2026
Как удалить неиспользуемые теги в WordPress с помощью кода
09.04.2026
Как создать автоматические email-рассылки в WordPress без плагинов
16.04.2026