2016-11-23 2 views
0

В настоящее время я пытаюсь создать скрипт PHP для сайта Wordpress, который обновляет имя, фамилию и почтовый индекс всех учетных записей пользователей (5000+). Обновленные данные извлекаются из отдельного запроса, сделанного формой, которую все пользователи заполняли во время регистрации. Моя проблема на самом деле не обновляет пользователей, я могу сделать это без проблем. Проблема заключается в обновлении всех более 5000 пользователей до истечения времени HTTP-запроса. Через минуту или две меня отправляют на страницу, которая читает «Ошибка HTTP 504 - Тайм-аут шлюза». Некоторые данные пользователя были обновлены, но я хотел бы, чтобы это было для всех.Wordpress Update User Time Timeout

Я выполняю цикл for для выполнения этой задачи. Ниже приведена часть кода, в котором выполняется обновление.

for ($x = 0; $x <= $total_registers; $x++) { 
     $first_name = $registers[$x]["2.3"]; 
     $last_name = $registers[$x]["2.6"]; 
     $profile_zipcode = $registers[$x]["18"] 
     $main_id = $registers[$x]["created_by"]; 

     $user_update = wp_update_user(array('ID' => $main_id, 'first_name' => $first_name, 'last_name' => $last_name, $profile_zipcode => 'profile_zipcode')); 

    } 

Кто-нибудь знает, как это сделать без ошибки таймаута?

Спасибо!

+0

'$ profile_zipcode => 'profile_zipcode'', не должно быть' 'profile_zipcode' => $ profile_zipcode'? – Benoti

+0

Ах, да, вы правы! Но, к сожалению, это не исправляет мою первоначальную проблему. Спасибо что подметил это. – gabed123

ответ

0

Вы можете попробовать добавить

ini_set('max_execution_time', 300); //300 seconds = 5 minutes 

Просто перед циклом, это значение переопределяет значение set_time_limit.

Надеюсь, он может вам помочь!