Странная проблема, когда ставлю usleep больше 300000 в одном из циклов - любые запросы к БД через redbean php после такого цикла перестают работать. В чем может быть причина? Провозился 3 часа и ничего не нашел. Только ставлю usleep меньше 300000 - запросы сразу начинают идти отлично.
<?php
//header('Location:/index.php');
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
require_once "config.php";
//Выборка записанных в БД групп и очистка конечного массива от лишнего
$groups = R::findAll('groups');
$array = R::exportAll( $groups );
$groupids = array_column($array, 'group_id');
//Общее количество постов которое должно у нас записаться (15 умноженное на количество групп)
$maxpostscount = 15 * count($groupids);
//Удаляем пустые массивы ID'ов ввведенных групп, перечисляем их через запятую
$new_array = array_diff($groupids, array(''));
$groupids = implode(",", $new_array);
//Получаем точные циферные ID'ы
$query = file_get_contents("https://api.vk.com/method/groups.getById?group_ids=".$groupids."&fields=description&v=5.80&access_token=".$access_token);
$query = json_decode ($query,true);
$query = array_column($query['response'], 'id');
$groupids = $query;
//Получаем список постов, очищаем их, вбиваем нужные элементы массива в их ключи "gifsurl,texts" и тд..
foreach ($groupids as $groupid)
{
$query = file_get_contents("https://api.vk.com/method/wall.get?owner_id=-".$groupid."&count=15&filter=ownerextended=1&v=5.80&offset=1&access_token=".$access_token);
$query = json_decode ($query,true);
$posts[] = $query['response']['items'];
//Если тут ставлю больше 300000 то все запросы к бд после этого цикла перестают работать
usleep(300000);
}
$posts = call_user_func_array('array_merge', $posts); //Убираем лишнюю вложенность
//Вбиваем нужные элементы при помощи цикла в их переменные, элементы взяты из запроса выше
foreach ($posts as $post) {
//Если тут ставлю больше 300000 то все запросы к бд после этого цикла перестают работать
usleep(700000);
$query = file_get_contents("https://api.vk.com/method/likes.getList?type=post&owner_id=".$post['owner_id']."&item_id=".$post['id']."&filter=likes&friends_only=0&extended=0&offset=0&count=1&skip_own=0&v=5.80&access_token=".$access_token);
$query = json_decode ($query,true);
$postsarray[] = array(
"gifsurl" => $post['attachments']['0']['doc']['url'],
"texts" => $post['text'],
"likes_count" => $query['response']['count'],
);
}
//Стоп слова
foreach($postsarray as $key => $value) {
foreach($value as $k => $v) {
if (empty($v) || (preg_match('/http/', $v) && $k == 'text')) {
unset($postsarray[$key]);
}
}
}
//Тестовый запрос к бд
vardump($postsarray);
$postinfo = R::dispense( 'postslist' );
$postinfo->texts = 'hello';
$id = R::store( $postinfo );
?>
Видимо заканчивается время ожидания сервера. Может быть оно задано на сервере mysql (wait_timeout, interactive_timeout).
Возможно задано в свойствах подключения вашего фреймворка
При этом отдает ошибку "MySQL Server Has Gone Away"
Виртуальный выделенный сервер (VDS) становится отличным выбором
Возможно ли преобразовать одномерный/двумерный массив в строку длинной не более 60 символов с возможность в дальнейшем преобразовать получившуюся...
Как найти слово в строкеtxt файла, а затем вывести эту строку? Подобных строк несколько, нужно, чтобы на выходе выводились несколько строк,...
Подскажите пожалуйста как можно пропустить строки которые содержать значение NULLЯ пытаюсь собрать прайс на основе другого Excel файла
Подскажите как пользоваться ключами для сборки в Qt CreatorВ самом Cmake файле есть данный код: