В БД хранится ссылка на страницу форума, пароль, логин, дата последнего обновления. Крон каждые 5 минут запускает страницу. На странице выполняется следующее:
Вытаскивает данные с БД (только те, у которых с момента последнего обновления прошло больше часа). Заходит на форум (Ip Board), логинится, удаляет предыдущее сообщение, добавляет новое.
Проблема вот в чем. Если за раз с БД вытаскивается 1 тема, то все проходит успешно. Если за раз вытаскиваются более 2 тем, то скрипт добавляет сообщение только в первой теме, а остальные пропускает, либо у второй темы только успевает удалить предыдущий пост и на этом скрипт останавливается.
1. Логиниться для каждого поста смысл нет. Блок с авторизацией вынесите выше сразу после if ($postsToUp), до foreach
2. Для отладки имеет смысл сохранять полученные страницы, плюс желательно со временем, когда именно получена.
3. Все телодвижения с curl вынести в отдельную функцию, читабельность резко подскочит
4. Забор из закрывающих фигурных скобок намекает, что слишком много в одну функцию запихали, уже пора разбивать на отделньые.
Возможно ошибка происходит со стороны сервера, так что сохраняйте все страницы и смотрите, после чего перестало работать. Обработку ошибок в принципе не вижу. Единственное место, где что-то может пойти не так - if (!empty($cookies['member_id'])) - если куки не найдены, то молча завершает работу. Пусть хотя бы скажет - почему