Уважаемые пользователи!
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 разработчикам

Проблемы с установкой или работой phpBB 3.3.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16370
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Об ошибках, выявленных в работе phpBB 3.3 Proteus, сообщаем в этой теме.
Ошибками является некорректная работа ядра phpBB, подтвержденная на последней актуальной версии phpBB, требующая устранения в коде ядра, и не связанная с работой расширений, сторонних стилей оформления, неверной работой серверного оборудования или серверного софта, а также с некорректными действиями администратора.
Запросы поддержки также не размещаются в данной теме.
Изображение
dimassamid
phpBB 2.0.0
Сообщения: 205
Стаж: 17 лет 6 месяцев
Благодарил (а): 58 раз
Поблагодарили: 84 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение dimassamid »

rxu писал(а): 10.06.2023 15:45 dimassamid, а SQL explain что сообщает по этой выборке? Сортировка файлов задейстована?
SQL Report 
mysql explain.png
Отправлено спустя 25 минут 13 секунд:
Установил чистую конференцию и залил туда таблицу со своими юзерами.
rxu, я отправил вам доступ в личку, чтобы можно было посмотреть вживую.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16370
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

dimassamid, для начала так https://github.com/phpbb/phpbb/pull/6490
Изображение
dimassamid
phpBB 2.0.0
Сообщения: 205
Стаж: 17 лет 6 месяцев
Благодарил (а): 58 раз
Поблагодарили: 84 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение dimassamid »

Благодарю за помощь и интерес к проблеме, но эти правки, к сожалению, её не решили.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16370
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

С этой правкой одномоментно проблема не уйдет, только по мере посещения конференции пользователями, и потом она не должна возникать, т.к. поле в таблице пользователей будет постоянно актуальным. Для параллельного одномоментной синхронизации понадобится еще миграция, пока не уверен, нужно это, или нет. На крупных конференциях с большим количеством сессий запрос может оказаться тяжелым.
Изображение
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12446
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Татьяна5 »

Назначение страницы из расширения главной - костыль есть, решение бы сделать
В $request из /phpbb значение идёт верное, а в request'ах в symphony с чего-то строки до отрабатывания DirectoryIndex из .htaccess. Проверять можно на том же стандартном app.php/help/faq, без правки выходит ошибка "Страница не найдена"
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16370
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Думаю, что бага ядра тут нет, это пересечение работы вебсервера и системы маршрутизации Symfony. Скорее всего, должно решаться переадресацией в .htaccess с того, что указано в DirectoryIndex (например, с index.php) на app.php/help/faq.
Изображение
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12446
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Татьяна5 »

rxu, при переадресации меняется ссылка в адресной строке, так что это не вариант
А просто с DirectoryIndex работает в результате странно. Подхватывает app.php, но не параметры для него (те же /help/faq), и в результате "страница не найдена"
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3336
Стаж: 15 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 590 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Nekstati »

У нас в .htaccess есть такие строки:

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php [QSA,L]
То есть при использовании Apache все 404 запросы идут на app.php. В Nginx, если он настроен по документации PHPBB, тоже.

И если у нас на странице есть хотя бы одна битая ссылка на картинку или другой ресурс, в сессию пользователя вместо адреса страницы записывается чушь в виде 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;
Или делать там фильтрацию по расширению - не обновлять сессию, если запрошен ресурс типа .jpg .js .css и т.д.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

Nekstati, в nginx правильней сделать отдельным location обработку всех картинок и статики, чтобы они выводились напрямую.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16370
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Nekstati писал(а): 02.02.2024 14:50 тогда во всех сессиях будет одно и то же
А если ссылки на картинки не битые, то всё хорошо, в сессии записываются ссылки на сами страницы?

Отправлено спустя 14 минут 59 секунд:
Посмотрел, видимо, слушатель исключения срабатывает уже после session_begin(), так что простой способ типа $GLOBALS['user']->update_session_page = false не сработает.
Изображение
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3336
Стаж: 15 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 590 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Nekstati »

Да, если ссылка не битая, сервер отдаёт картинку напрямую, а если битая, то перенаправляет на app.php, и далее app.php перезаписывает то, что viewtopic.php записал в сессию.

Способ работает, по крайней мене на моей локалке. Я никогда не пощу код, не проверив его. :)

Для вложений, например, давно предусмотрено update_session_page = false в виде $user->session_begin(false);
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16370
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Изображение
Аватара пользователя
romaamor
phpBB 3.0.3
Сообщения: 2145
Стаж: 12 лет 1 месяц
Откуда: Одесса
Благодарил (а): 619 раз
Поблагодарили: 144 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение romaamor »

Nekstati писал(а): 02.02.2024 14:50 Как исправить
Так как исправить то ?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16370
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Хак с $GLOBALS['user']->update_session_page точно не пойдет в ядро.

Отправлено спустя 1 час 12 минут 34 секунды:
Вот так должно сработать: https://github.com/phpbb/phpbb/pull/6582
Изображение
Аватара пользователя
romaamor
phpBB 3.0.3
Сообщения: 2145
Стаж: 12 лет 1 месяц
Откуда: Одесса
Благодарил (а): 619 раз
Поблагодарили: 144 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение romaamor »

rxu писал(а): 02.02.2024 19:26 Вот так должно сработать:
А по простому как ? Там не чего не понятно что и куда.

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