Мне нужно получить около 6000 записей из моей базы данных WordPress. Когда я использую простой запрос WordPress $ wbpd-> get_result (‘Query’).
Это дает мне ошибку «Ошибка тайм-аута сервера». Итак, я хочу использовать концепцию пакетной обработки для этого.
Ниже мой код.
$start_from = 0;
$i = 1;
$total_pages = ceil($total_records_result / 10);
for($i = 1; $i <= $total_pages; $i++){
$start_from = ($i - 1) * 10;
$querystr = "select
p.order_id,
p.order_item_id,
p.order_item_name,
p.order_item_type,
po.post_status
from
wp_woocommerce_order_items as p,...........;
$querystr .= " group by p.order_item_id order by p.order_id DESC LIMIT $start_from, 10";
$pageposts = $wpdb->get_results($querystr, OBJECT);
foreach ($pageposts as $post) { ....}
Надеюсь, что кто-нибудь может мне помочь с этим.
Заранее спасибо.
Эта ссылка содержит инструкции о том, как предотвратить возникновение тайм-аутов.
https://davidwalsh.name/increase-php-script-execution-time-limit-ini_set
Добавьте это в начало вашего скрипта PHP, это позволит скрипту работать в течение 300 секунд. Увеличьте его по мере необходимости.
ini_set('max_execution_time', 300);
Других решений пока нет …