Периодически не удаляются сообщения

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
AlexSan
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет 9 месяцев

Периодически не удаляются сообщения

Сообщение AlexSan »

При запуске связки 7 друпала и живого 3.0.8 форума через мост обнаружилась непостоянная ошибка с удалением сообщений.
Мост phpBBforum Integration module (C) 2007-2011 by Vadim G.B.

В 90% случаев сообщение не удаляется, доходит до вопроса и выбрасывает на главную форума.

В логах есть следующее

У юзеров/анонимусов
Произошла общая ошибка: General Error
» SQL ERROR [ mysql4 ]

Table 'megatest2.LOGIN_ATTEMPT_TABLE' doesn't exist [1146]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.
У админа
Произошла общая ошибка: General Error
» SQL ERROR [ mysql4 ]

Table 'megatest2.LOGIN_ATTEMPT_TABLE' doesn't exist [1146]

SQL

DELETE FROM LOGIN_ATTEMPT_TABLE
WHERE attempt_time < 1349719082

BACKTRACE

FILE: includes/db/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: includes/session.php
LINE: 1012
CALL: dbal_mysql->sql_query()

FILE:
LINE:
CALL: session->session_gc()
Вопрос звучит так:

Есть ли в 3.0.8 такая таблица PHPBB_LOGIN_ATTEMPTS? Скачал чистый дистрибут, и такой таблицы не нашел. Может она появилась с 3,0,9? Или плохо искал?

Возможно друпаловский мост исправил в форумных файлах не совсем то, что требовалось для 3.0.8

Если такой таблицы нет в 0.8, то значит мост вызывает какую то функцию, связанную с будущей версией.

Таблицу добавил ручками, по скрипту из форумного поиска. Но она стоит пустая, к ней нет обращений. Ошибка не исчезла.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Периодически не удаляются сообщения

Сообщение Sheer »

AlexSan писал(а):Может она появилась с 3,0,9?
Да.
AlexSan писал(а):Таблицу добавил ручками, по скрипту из форумного поиска. Но она стоит пустая, к ней нет обращений
Название таблицы должно быть в нижнем регистре phpbb_login_attempts
Кроме того, константа LOGIN_ATTEMPTS должна быть определена в файле includes/constants.php

Код: Выделить всё

define('LOGIN_ATTEMPT_TABLE',        $table_prefix . 'login_attempts');
Короче обновляйтесь до последней актуальной версии 3.0.11
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
AlexSan
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет 9 месяцев

Re: Периодически не удаляются сообщения

Сообщение AlexSan »

Ну тогда причины ясны, если таблицы нет, а мост к ней обращается (и еще видимо к некоторым данным)...

Будем копать фиксы моста.

Обновление форума так просто не сделаешь, из-за моста и других фиксов.

Константу и таблицу создали сразу, как только нашли ошибку. Другое дело, что там одной таблицей видимо не обойтись.

Добавлено спустя 8 минут 36 секунд:
Вот и фикс на скорую руку:

отключить
//$sql = 'DELETE FROM ' . LOGIN_ATTEMPT_TABLE . ' WHERE attempt_time < ' . (time() - (int) $config['ip_login_limit_time']);

дописать
$sql = 'DELETE FROM мойпрефикс_login_attempts WHERE attempt_time < ' . (time() - (int) $config['ip_login_limit_time']);


Правда, нет смысла удалять из неиспользующейся таблицы несуществующие данные...
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Периодически не удаляются сообщения

Сообщение Sheer »

AlexSan писал(а):Обновление форума так просто не сделаешь, из-за моста и других фиксов.
Нет никаких проблем.
AlexSan писал(а):Будем копать фиксы моста
BACKTRACE указывает на ошибку в сценарии самого phpBB3, а не моста, а именно при попытке выполнить запрос здесь

Код: Выделить всё

FILE: includes/session.php
LINE: 1012
CALL: dbal_mysql->sql_query()
Обновляйтесь и не морочьте голову.

Добавлено спустя 1 минуту 2 секунды:
AlexSan писал(а)://$sql = 'DELETE FROM ' . LOGIN_ATTEMPT_TABLE . ' WHERE attempt_time < ' . (time() - (int) $config['ip_login_limit_time']);

дописать
$sql = 'DELETE FROM мойпрефикс_login_attempts WHERE attempt_time < ' . (time() - (int) $config['ip_login_limit_time']);
Между этиим запросами нет абсолютно никакой разницы.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
AlexSan
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет 9 месяцев

Re: Периодически не удаляются сообщения

Сообщение AlexSan »

Мост вносит фиксы в кучу файлов phpbb, и в указанный session они тоже внесены, так что не все так просто. Я как почитал инструкцию моста, так и прифигел слегка.

Но обновление уже внесено в список дел.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Периодически не удаляются сообщения

Сообщение Sheer »

AlexSan писал(а):Мост вносит фиксы в кучу файлов phpbb
И что с того? Любые моды вносят кучу изменений, тут у людей по не одной сотне модов установлено. И ничего, обновляются.
Пакет автоматического обновления не заменяет полностью содержимое файлов, а вносит изменения. А то, что было сделано у вас - полная ересь. Файлы сценариев от одной версии, БД - от другой. Результат на лице.
Почитайте темы про обновление версии.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Периодически не удаляются сообщения

Сообщение evrus01 »

Sheer писал(а):тут у людей по не одной сотне модов установлено.
Включая всякие мосты и жумлы.
AlexSan, ИМХО, надо сначала обновить форумный движок. На ГУРУ осуществляется поддержка именно последней актуальной версии phpBB.

Вернуться в «Поддержка phpBB 3.0.х»