Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Сообщаем об ошибках phpBB 3.3.x разработчикам
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
-
- phpBB Guru
- Сообщения: 16700
- Стаж: 18 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 558 раз
- Поблагодарили: 1848 раз
Сообщаем об ошибках phpBB 3.3.x разработчикам
Об ошибках, выявленных в работе phpBB 3.3 Proteus, сообщаем в этой теме.
Ошибками является некорректная работа ядра phpBB, подтвержденная на последней актуальной версии phpBB, требующая устранения в коде ядра, и не связанная с работой расширений, сторонних стилей оформления, неверной работой серверного оборудования или серверного софта, а также с некорректными действиями администратора.
Запросы поддержки также не размещаются в данной теме.
Ошибками является некорректная работа ядра phpBB, подтвержденная на последней актуальной версии phpBB, требующая устранения в коде ядра, и не связанная с работой расширений, сторонних стилей оформления, неверной работой серверного оборудования или серверного софта, а также с некорректными действиями администратора.
Запросы поддержки также не размещаются в данной теме.
-
- phpBB 2.0.1
- Сообщения: 277
- Стаж: 18 лет 1 месяц
- Благодарил (а): 80 раз
- Поблагодарили: 119 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
rxu писал(а): 10.06.2023 15:45 dimassamid, а SQL explain что сообщает по этой выборке? Сортировка файлов задейстована?
SQL Report
Установил чистую конференцию и залил туда таблицу со своими юзерами.
rxu, я отправил вам доступ в личку, чтобы можно было посмотреть вживую.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- phpBB Guru
- Сообщения: 16700
- Стаж: 18 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 558 раз
- Поблагодарили: 1848 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
dimassamid, для начала так https://github.com/phpbb/phpbb/pull/6490
-
- phpBB 2.0.1
- Сообщения: 277
- Стаж: 18 лет 1 месяц
- Благодарил (а): 80 раз
- Поблагодарили: 119 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
Благодарю за помощь и интерес к проблеме, но эти правки, к сожалению, её не решили.
-
- phpBB Guru
- Сообщения: 16700
- Стаж: 18 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 558 раз
- Поблагодарили: 1848 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
С этой правкой одномоментно проблема не уйдет, только по мере посещения конференции пользователями, и потом она не должна возникать, т.к. поле в таблице пользователей будет постоянно актуальным. Для параллельного одномоментной синхронизации понадобится еще миграция, пока не уверен, нужно это, или нет. На крупных конференциях с большим количеством сессий запрос может оказаться тяжелым.
-
- Поддержка
- Сообщения: 12613
- Стаж: 13 лет 3 месяца
- Благодарил (а): 170 раз
- Поблагодарили: 2535 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
Назначение страницы из расширения главной - костыль есть, решение бы сделать
В
В
$request
из /phpbb
значение идёт верное, а в request
'ах в symphony
с чего-то строки до отрабатывания DirectoryIndex
из .htaccess
. Проверять можно на том же стандартном app.php/help/faq
, без правки выходит ошибка "Страница не найдена"-
- phpBB Guru
- Сообщения: 16700
- Стаж: 18 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 558 раз
- Поблагодарили: 1848 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
Думаю, что бага ядра тут нет, это пересечение работы вебсервера и системы маршрутизации Symfony. Скорее всего, должно решаться переадресацией в
.htaccess
с того, что указано в DirectoryIndex
(например, с index.php) на app.php/help/faq
.-
- Поддержка
- Сообщения: 12613
- Стаж: 13 лет 3 месяца
- Благодарил (а): 170 раз
- Поблагодарили: 2535 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
rxu, при переадресации меняется ссылка в адресной строке, так что это не вариант
А просто с
А просто с
DirectoryIndex
работает в результате странно. Подхватывает app.php
, но не параметры для него (те же /help/faq
), и в результате "страница не найдена"-
- Поддержка
- Сообщения: 3336
- Стаж: 15 лет 8 месяцев
- Благодарил (а): 25 раз
- Поблагодарили: 590 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
У нас в .htaccess есть такие строки:
То есть при использовании Apache все 404 запросы идут на app.php. В Nginx, если он настроен по документации PHPBB, тоже.
И если у нас на странице есть хотя бы одна битая ссылка на картинку или другой ресурс, в сессию пользователя вместо адреса страницы записывается чушь в виде app.php/картинка.jpg.
Как воспроизвести: вставить в сообщение битую картинку, например
В результате на viewonline.php местоположение всех пользователей показывается как "Главная страница", а в самой теме, сколько бы пользователей её ни читало, - "Сейчас этот форум просматривают: [текущий пользователь] и 0 гостей".
Как исправить: можно при ошибке 404 не обновлять сессию. Всё равно любая запись туда нерелевантна и даёт всегда "Главную страницу".
Или делать там фильтрацию по расширению - не обновлять сессию, если запрошен ресурс типа .jpg .js .css и т.д.
Код: Выделить всё
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php [QSA,L]
И если у нас на странице есть хотя бы одна битая ссылка на картинку или другой ресурс, в сессию пользователя вместо адреса страницы записывается чушь в виде app.php/картинка.jpg.
Как воспроизвести: вставить в сообщение битую картинку, например
[img]/картинка.jpg[/img]
, и посмотреть, что записалось в phpbb_sessions.session_page
. Ещё лучше вставить картинку в футер, тогда во всех сессиях будет одно и то же.В результате на viewonline.php местоположение всех пользователей показывается как "Главная страница", а в самой теме, сколько бы пользователей её ни читало, - "Сейчас этот форум просматривают: [текущий пользователь] и 0 гостей".
Как исправить: можно при ошибке 404 не обновлять сессию. Всё равно любая запись туда нерелевантна и даёт всегда "Главную страницу".
Код: Выделить всё
phpbb\event\kernel_exception_subscriber.php
$message = $this->language->lang('PAGE_NOT_FOUND');
добавить перед (упрощаю):
$GLOBALS['user']->update_session_page = false;
-
- Поддержка
- Сообщения: 5360
- Стаж: 19 лет 10 месяцев
- Откуда: Питер
- Благодарил (а): 192 раза
- Поблагодарили: 828 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
Nekstati, в nginx правильней сделать отдельным location обработку всех картинок и статики, чтобы они выводились напрямую.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB Guru
- Сообщения: 16700
- Стаж: 18 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 558 раз
- Поблагодарили: 1848 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
А если ссылки на картинки не битые, то всё хорошо, в сессии записываются ссылки на сами страницы?
Отправлено спустя 14 минут 59 секунд:
Посмотрел, видимо, слушатель исключения срабатывает уже после
session_begin()
, так что простой способ типа $GLOBALS['user']->update_session_page = false
не сработает.-
- Поддержка
- Сообщения: 3336
- Стаж: 15 лет 8 месяцев
- Благодарил (а): 25 раз
- Поблагодарили: 590 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
Да, если ссылка не битая, сервер отдаёт картинку напрямую, а если битая, то перенаправляет на app.php, и далее app.php перезаписывает то, что viewtopic.php записал в сессию.
Способ работает, по крайней мене на моей локалке. Я никогда не пощу код, не проверив его.
Для вложений, например, давно предусмотрено
Способ работает, по крайней мене на моей локалке. Я никогда не пощу код, не проверив его.
Для вложений, например, давно предусмотрено
update_session_page = false
в виде $user->session_begin(false);
-
- phpBB 3.0.5
- Сообщения: 2260
- Стаж: 12 лет 8 месяцев
- Откуда: Одесса
- Благодарил (а): 656 раз
- Поблагодарили: 151 раз
-
- phpBB Guru
- Сообщения: 16700
- Стаж: 18 лет 6 месяцев
- Откуда: Красноярск
- Благодарил (а): 558 раз
- Поблагодарили: 1848 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
Хак с
Отправлено спустя 1 час 12 минут 34 секунды:
Вот так должно сработать: https://github.com/phpbb/phpbb/pull/6582
$GLOBALS['user']->update_session_page
точно не пойдет в ядро.Отправлено спустя 1 час 12 минут 34 секунды:
Вот так должно сработать: https://github.com/phpbb/phpbb/pull/6582
-
- phpBB 3.0.5
- Сообщения: 2260
- Стаж: 12 лет 8 месяцев
- Откуда: Одесса
- Благодарил (а): 656 раз
- Поблагодарили: 151 раз
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
А по простому как ? Там не чего не понятно что и куда.