[27.11.2020] Переехали c PHP 5.6 на PHP 7.4

Список разделов Сообщество Новости сообщества

Описание: Новости fb2k.ru и сообщества

Сообщение #1 VEG » 25.11.2020, 16:02

Обновил немного старый бородатый код движка из времён PHP4 (чтобы в будущем перейти на PHP7+). Изменения не должны быть заметны снаружи, но если вдруг где-то что-то сломалось или выдаёт непонятные предупреждения — сообщайте.
С наилучшими пожеланиями, Евгений
VEG M
Автор темы, Администратор
Аватара
Возраст: 33
Откуда: Минск, Беларусь
Репутация: 184
С нами: 8 лет 8 месяцев

Сообщение #2 MC Web » 25.11.2020, 16:26

ПОЖЕЛАНИЯ:
VEG писал(а):Обновил немного старый бородатый код движка из времён PHP4
Увеличить скорость загрузки раздела Музыка которую вы слушаете сейчас.

VEG писал(а):С обоих сервисов (Яндекс-Музыки, SoundCloud) можно вставлять как отдельные треки, так и целые альбомы, используя соответствующие ссылки.
С Яндекс-Музыки вставлять плейлисты.
Сборка foobar2000 RU DarkOne + DUIFoon от MC Web
MC Web
Гуру
Аватара
Репутация: 221
С нами: 7 лет 5 месяцев

Сообщение #3 VEG » 25.11.2020, 16:38

MC Web писал(а):С Яндекс-Музыки вставлять плейлисты.
А разве Яндекс-Музыка позволяет делиться плей-листами? UPD. Проверил - можно. Добавлю позднее.

MC Web писал(а):Увеличить скорость загрузки раздела Музыка которую вы слушаете сейчас.
Там всё зависит от способностей вашего компьютера. Каждое встроенное видео или аудио - это отдельный маленький браузер на странице. Когда их много - ожидаемо, что это создаёт ощутимую нагрузку.
С наилучшими пожеланиями, Евгений
VEG M
Автор темы, Администратор
Аватара
Возраст: 33
Откуда: Минск, Беларусь
Репутация: 184
С нами: 8 лет 8 месяцев

Сообщение #4 MC Web » 25.11.2020, 16:50

VEG писал(а):Когда их много - ожидаемо, что это создаёт ощутимую нагрузку.
Может, тогда сделать автоматическое размещение встроенного видео или аудио под спойлером. А то иногда хочется посмотреть что то конкретное, приходится ждать пока не загрузится вся страница.
Сборка foobar2000 RU DarkOne + DUIFoon от MC Web
MC Web
Гуру
Аватара
Репутация: 221
С нами: 7 лет 5 месяцев

Сообщение #5 VEG » 25.11.2020, 19:11

MC Web писал(а):С Яндекс-Музыки вставлять плейлисты.
Добавил поддержку. Ctrl+F5 чтобы заработало.
С наилучшими пожеланиями, Евгений
VEG M
Автор темы, Администратор
Аватара
Возраст: 33
Откуда: Минск, Беларусь
Репутация: 184
С нами: 8 лет 8 месяцев

Сообщение #6 VEG » 27.11.2020, 15:52

Ещё больше изменений в коде. Попутно исправил пару мелких косяков, и в принципе движок к переходу на PHP 7 готов. Пока что тестируем не сломалось ли что на старом PHP 5.6, на новый PHP перейдём через какое-то время, так как ещё нужно убедиться, что наша wiki и fb2k-бот совместимы с новыми PHP.

О любых подозрительных проблемах сразу сообщайте. Сломаться могло вообще что угодно в неожиданных местах, но наибольший риск поломок по части обработки BBCode — эта часть изменилась больше всего.

Добавлено спустя 4 часа 13 минут:
Решил не тянуть кота за хвост, и перевёл сервер на PHP 7.4. Уже сразу заметил несколько мелких проблем на форуме, и вики полностью сломалась. Чиним.

Добавлено спустя 44 минуты 9 секунд:
Вики опять работает, те косяки что заметил на форуме — исправил.
С наилучшими пожеланиями, Евгений
VEG M
Автор темы, Администратор
Аватара
Возраст: 33
Откуда: Минск, Беларусь
Репутация: 184
С нами: 8 лет 8 месяцев

Сообщение #7 SergPuh.68 » 27.11.2020, 21:06

VEG, при просмотре профиля вот такая беда:
2020-11-27_190310.png
YouTube Music
SergPuh.68 M
Мастер
Аватара
Откуда: Украина
Репутация: 102
С нами: 2 года

Сообщение #8 VEG » 27.11.2020, 22:00

Спасибо за информацию. Исправлено.
С наилучшими пожеланиями, Евгений
VEG M
Автор темы, Администратор
Аватара
Возраст: 33
Откуда: Минск, Беларусь
Репутация: 184
С нами: 8 лет 8 месяцев

Сообщение #9 VEG » 29.11.2020, 14:36

Чудный PHP7. Все мои сайты стали заметно отзывчивее, и общая нагрузка на сервер заметно упала.

Изображение

Вот чтобы все обновления современного ПО привносили столько оптимизаций по производительности =)
С наилучшими пожеланиями, Евгений
VEG M
Автор темы, Администратор
Аватара
Возраст: 33
Откуда: Минск, Беларусь
Репутация: 184
С нами: 8 лет 8 месяцев

Сообщение #10 LUR » 30.11.2020, 02:41

VEG писал(а):Чтобы все обновления современного ПО привносили столько оптимизаций по производительности =)
Чтобы избавлялись от старого хлама)
LUR M
Модератор
Аватара
Возраст: 38
Откуда: Минск
Репутация: 273
С нами: 8 лет 1 месяц

Сообщение #11 VEG » 30.11.2020, 15:54

Ну если что-то уже старое, это ещё совсем не значит, что это хлам.
С наилучшими пожеланиями, Евгений
VEG M
Автор темы, Администратор
Аватара
Возраст: 33
Откуда: Минск, Беларусь
Репутация: 184
С нами: 8 лет 8 месяцев

Сообщение #12 LUR » 30.11.2020, 22:52

VEG писал(а):Ну если что-то уже старое, это ещё совсем не значит, что это хлам.
Я имею в виду хлам, который тянется в новые версии чисто из соображений совместимости, а по сути никакой полезной нагрузки более не несет =)
LUR M
Модератор
Аватара
Возраст: 38
Откуда: Минск
Репутация: 273
С нами: 8 лет 1 месяц

Сообщение #13 VEG » 01.12.2020, 12:30

Ну в совместимости нет ничего плохого. В том же foobar2000 у меня есть пара плагинов, которые 10+ лет заброшены авторами, но исправно работают, так как автор плеера заботится о совместимости. Только у UI Hacks есть проблемы, и то только потому что он использует много низкоуровневых недокументированных вещей, и должен был со временем сломаться. Хотя нужные мне функции из UI Hacks работают и в последнем foobar2000 v1.6.2 =)

Да, в foobar2000 есть отдельная поддержка легаси API. Например, для одного из древних (и отлично до сих пор работающих) плагинов он выдаёт такое предупреждение, так как плагин использует API времён до foobar2000 v1.0:
Изображение

И да, стоит заметить, что сам foobar2000 построен вокруг API родом из 90-х, который в свою очередь был построен с оглядкой на относительную совместимость на уровне исходных кодов с кодом из конца 80-х. А если мы ещё вспомним, что всё это так или иначе завязано на C, который вообще родом из 70-х...

Добавлено спустя 1 час 22 минуты:
По теме PHP. В PHP7+ удалили несколько устаревших вещей, которые при небрежном использовании могли привести к уязвимости. С точки зрения кода самого PHP поддерживать их не было большой проблемой, там на самом деле мелочи с точки зрения кода. Разработчики PHP просто хотели таким образом подтолкнуть остальных переписать те части, которые написаны небезопасным (старым) образом. Но, с другой стороны, это на 5 лет оставило наш форум на неподдерживаемой версии PHP 5.6, так как на переход на PHP 7+ нужно было потратить несколько суток, и не было достаточно мотивации и времени этим заниматься (при том что я время от времени уделяю внимание паре десятков разных проектов).

Изображение

Основное что мешало — это удалённая поддержка флага e (eval) в preg_replace. В phpBB парсинг BBCode был сильно завязан на использование этого флага, нужно было много переделывать. Я на полном серьёзе рассматривал вариант взять последний PHP, вернуть назад поддержку этого флага, и использовать свою кастомную версию PHP таким образом. Но в итоге всё-таки доработал код движка на новый лад, чтобы не только я мог пользоваться этим движком на последнем PHP =)

Если бы они сломали совместимость на порядок сильнее, а не в мелочах, то скорее всего это привело бы к тому, что старый PHP кто-нибудь форкнул и стал бы развивать отдельно. Это как с Perl 5 и Perl 6, где последний настолько ушёл от Perl 5, что Perl 6 начали считать отдельным языком, и переименовали его в Raku, чтобы не путаться.
С наилучшими пожеланиями, Евгений
VEG M
Автор темы, Администратор
Аватара
Возраст: 33
Откуда: Минск, Беларусь
Репутация: 184
С нами: 8 лет 8 месяцев


Вернуться в Новости сообщества