открой таблицу phpbb_profile_fields_data - например, в phpMyAdmin. На вкладке Structure напротив колонки нажми Change и в дропдауне Collation выбери utf8mb4_general_ci. Так же можно поступить и с другими таблицами и колонками, в которые записывается юзерский ввод.
Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекратила выпуск обновлений для phpBB версии 3.2.
С учетом этого, рекомендуется обновить конференции до версии 3.3.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.
Напоминаем, что с 7 ноября 2020 года phpBB Group прекратила выпуск обновлений для phpBB версии 3.2.
С учетом этого, рекомендуется обновить конференции до версии 3.3.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.
Сообщаем об ошибках phpBB 3.2.x разработчикам
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 1.4.3
- Сообщения: 92
- Стаж: 18 лет 6 месяцев
- Откуда: Саров, Россия
- Благодарил (а): 8 раз
- Поблагодарили: 14 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
-
- phpBB Guru
- Сообщения: 16146
- Стаж: 17 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 499 раз
- Поблагодарили: 1658 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Потом получите какие-нибудь проблемы с работой и обновлением борды.
-
- phpBB 1.4.3
- Сообщения: 92
- Стаж: 18 лет 6 месяцев
- Откуда: Саров, Россия
- Благодарил (а): 8 раз
- Поблагодарили: 14 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Какие, например, проблемы?
Я у себя уже лет 5-6 назад во всех таблицах соответствующие колонки сконвертировал — ещё до того, как это было сделано в ядре.
Полёт нормальный.
-
- phpBB Guru
- Сообщения: 16146
- Стаж: 17 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 499 раз
- Поблагодарили: 1658 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Например, исходя из различий кодировок https://dev.mysql.com/doc/refman/5.7/en ... rsion.html
-
- phpBB 1.4.3
- Сообщения: 92
- Стаж: 18 лет 6 месяцев
- Откуда: Саров, Россия
- Благодарил (а): 8 раз
- Поблагодарили: 14 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Так проблемы-то какие?
Впрочем, ради бога, я не настаиваю.
Моё дело предложить и указать, что метод уже лет 5 как у меня в продакшене.
Дальше сами решайте.

-
- phpBB Guru
- Сообщения: 16146
- Стаж: 17 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 499 раз
- Поблагодарили: 1658 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Исправление https://github.com/phpbb/phpbb/pull/6006/files и только для 3.3, так как релиз 3.2.10 уже на выходе и скорее всего будет последним в ветке.
-
- phpBB 1.4.4
- Сообщения: 155
- Стаж: 7 лет 4 месяца
- Откуда: Караганда
- Благодарил (а): 24 раза
- Поблагодарили: 15 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Не прокатило. Такая же ошибка вываливается. В posts_text стоит utf8_unicode_ci - тоже попробовал, тоже не получилось, хотя в тексте сообщений этот символ вставить можно.BadBlock писал(а): ↑10.06.2020 13:03открой таблицу phpbb_profile_fields_data - например, в phpMyAdmin. На вкладке Structure напротив колонки нажми Change и в дропдауне Collation выбери utf8mb4_general_ci. Так же можно поступить и с другими таблицами и колонками, в которые записывается юзерский ввод.
-
- phpBB 1.4.3
- Сообщения: 92
- Стаж: 18 лет 6 месяцев
- Откуда: Саров, Россия
- Благодарил (а): 8 раз
- Поблагодарили: 14 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
У, блин, и точно. Тут не прокатывает.
Видимо, потому что в файле
phpbb/db/driver/mysqli.php
имеем:
Код: Выделить всё
@mysqli_query($this->db_connect_id, "SET NAMES 'utf8");
Сейчас на локальной копии попробовал поменять на
Код: Выделить всё
@mysqli_query($this->db_connect_id, "SET NAMES 'utf8mb4");
utf8
на utf8mb4
. Ошибка пропала, всё нормально сохраняется.Конечно, править ядро затея грязноватая, крайне желательно все подобные изменения отслеживать через git.
Плюс конкретно это изменение я бы сперва немного потестил, чтобы убедиться, что всё в порядке.
Но на что не пойдёшь, чтобы разрешить в поле "Откуда" писать всякую чушь с эмодзями.
Хотя оно потом всё равно выводится в профиле как знак вопроса (реальную эмодзю видно только через phpMyAdmin).

Последний раз редактировалось BadBlock 12.06.2020 6:22, всего редактировалось 3 раза.
-
- phpBB 1.4.4
- Сообщения: 155
- Стаж: 7 лет 4 месяца
- Откуда: Караганда
- Благодарил (а): 24 раза
- Поблагодарили: 15 раз
-
- phpBB 1.4.3
- Сообщения: 92
- Стаж: 18 лет 6 месяцев
- Откуда: Саров, Россия
- Благодарил (а): 8 раз
- Поблагодарили: 14 раз
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Всё ж таки при таких делах лучше перейти на 5.3 и получить исправление, указанное выше товарищем rxu.
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Неправильно, модификатор ^~ используется в «нерегулярном» (обычном) локейшене и предписывает при максимальном совпадении этого локейшена вообще дальше не связываться с регулярками (сначала провряются обычные, запоминается максимально совпадающий и потом проверяются регулярные, а такой префикс даёт возможность исключить тяжёлую проверку регулярных выражений).
То есть правильно будет ставить крышку именно в начале регулярного выражения:
Код: Выделить всё
location ~ ^/(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb(?!\w+)|store|vendor)
(?<!ext/)
, которая пытается оставить phpbb
и выгородить /ext/phpbb
(зачем такая сложность?). Понятно что весь /ext
получается открыт и это отдельная тема — там тоже можно позакрывать лишнее)Ну и «раз пошла такая пьянка» то стоит упомянуть неупомянутое:
bin|config|language
, итого:
Код: Выделить всё
location ~ ^/(config\.php|common\.php|cache|files|images/avatars/upload|includes|phpbb|store|vendor|bin|config|language)
nginx.sample.conf
блок запрещения стоит после! блока php, а поскольку регулярные выражения обрабатываются в порядке появления в файле то до запрещения config\.php|common\.php
никогда не дойдёт дела ;) Более того, все остальные php-шные урлы в запрещённых локейшенах тоже доступны ;)) То есть необходимо сначала ставить запрещающий блок а потом уже location ~ \.php(/|$)
Код: Выделить всё
# Deny access to internal phpbb files.
location ~ ^/(config\.php|common\.php|cache|files|images/avatars/upload|includes|phpbb|store|vendor|bin|config|language) {
…
# Pass the php scripts to FastCGI server specified in upstream declaration.
location ~ \.php(/|$) {
…
Re: Сообщаем об ошибках phpBB 3.2.x разработчикам
Код: Выделить всё
# Есть *.html-шаблоны и папка event
location ~ ^/ext/[^/]+/[^/]+/adm/style/ {}
# location ~ ^/ext/[^/]+/[^/]+/styles/[^/]+/theme {}
# js тоже должен бы быть в theme, но его запихивают в template
location ~ ^/ext/[^/]+/[^/]+/styles/ {}
Код: Выделить всё
location ~ ^/(config\.php|common\.php|cache|files|images/avatars/upload|includes|phpbb/|store|vendor|bin|config|language|ext)