Варианты по работе SMF 2.0 на PHP 7

Автор PistoGanza, 21 октября 2016, 07:42:01

« предыдущая - следующая »

0 Пользователей и 2 гостей просматривают эту тему.

PistoGanza

Добрый день!

Хочу проапдейтить на серваке PHP 5.2 -> 7. SMF стоит старый, 2.0.1. Изучаю как его можно завести на новом php. Веб-сервер на apache 2.4.6
Пока нашел такие варианты:

Собрать модуль mysql.so
Инструкция https://ckon.wordpress.com/2015/08/06/put-mysql-functions-back-into-php-7/
Скомпилял, подключил, в phpinfo модуль видно, но smf выкидывает ошибку. Похоже вываливается по функции db_fatal_error

Сделать обертки для mysql на базе mysqli
Инструкция https://sleepycode.com/2016/05/smf-2-0-with-php-7/
Тоже сделал, но опять такая же ошибка.

Переписать код smf на mysqli
Сам вряд ли осилю.
Надо переписывать только Subs-Compat и Subs-Db-mysql или что-то еще?


Предложение:
Попробовать коллективным разумом разобраться как же все-таки запустить SMF 2.0 на PHP 7. Может получится разобраться с первыми двумя вариантами, или вместе переписать нужные файлы.

PS. Известны ли еще какие-то проблемы с PHP 7 кроме отключенного mysql?

bober


PistoGanza

К сожалению, много исправленного кода вручную в движке( боюсь, что обновление много всего поломает.

iaroslav

Для smf есть мод, который позволяет использовать тип соединения с базой MySQLi (вот этот вот: http://custom.simplemachines.org/mods/index.php?mod=3469 ). А MySQLi поддерживается в php 7.0 по умолчанию.
Соответственно, ставите мод согласно приложенной инструкции (тупо копируете файл в нужную папку), правите конфиг на соединение MySQLi и радуетесь жизни.

Конечно, неминуемо возникнут проблемы если будете ставить какие-то иные моды, которые дописывают свои функции соединения с базой. Но тут уж всё решаемо...

Но это решение именно проблемы с базой. А есть ещё проблема с разницей в синтаксисе.

Если интересно, вот на английском форуме дискуссия на тему: http://www.simplemachines.org/community/index.php?topic=540808.0

digger®

Девелоперский форум гоняю уже давно, без особых проблем, на smf 2.0.11 + mysqli mod + php 7

Информация о версиях:
Версия форума: SMF 2.0.11 (подробнее)
Последняя версия SMF: SMF 2.0.12
Версия GD: bundled (2.1.0 compatible)
Версия mysqli: 10.0.27-MariaDB-0+deb8u1
PHP: 7.0.11-1~dotdeb+8.1
Версия Web сервера: nginx/1.11.5

PistoGanza

Цитата: iaroslav от 21 октября 2016, 11:09:28Для smf есть мод, который позволяет использовать тип соединения с базой MySQLi (вот этот вот: http://custom.simplemachines.org/mods/index.php?mod=3469 ). А MySQLi поддерживается в php 7.0 по умолчанию.
Соответственно, ставите мод согласно приложенной инструкции (тупо копируете файл в нужную папку), правите конфиг на соединение MySQLi и радуетесь жизни.

Вы его пробовали? У меня что-то пока не завелся  :(

S.T.A.L.K.E.R.

Цитата: bober от 21 октября 2016, 08:06:53Обновление до 2.1 b2.
2.1 на 7-ке работает с небольшой ошибкой.В багтрекер отписал,пока тишина.

iaroslav

Цитата: PistoGanza от 22 октября 2016, 17:00:35Вы его пробовали? У меня что-то пока не завелся  :(
Я - нет. Но выше digger написал, что пробовал.

karavan

Стоит у меня года 2 уже, всё нормально.

GeorG

У свой завёл на php7 с 235 модами. Почти три дня просидел, депрекации с фаталами правил :D 
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

DJ-X

Обновил до SMF 2.0.15 и форум без модов заработал на PHP 7.0.

Delysid


Snow_Irbis

SMF версии 2.0.15 стабильно работает на версии PHP 7.0.33 (так же с этой версией PHP отлично работают моды SMFPacks Shoutbox, Quick Spoiler, Simple Audio Video Embedder, SimpleAds и Optimus) :)

DJ-X


Oleg+

07 ноября 2019, 11:44:41 #14 Последнее редактирование: 07 ноября 2019, 11:56:29 от Oleg+
У меня SMF 2.0.15 отказывается корректно работать на PHP 7.2.

Выдаются предупреждения:


Цитата: undefinedDeprecated: Function create_function() is deprecated in /home/mysite/docs/Sources/Load.php on line 178

Deprecated: Function create_function() is deprecated in /home/mysite/docs/Sources/Load.php on line 183

Deprecated: Function create_function() is deprecated in /home/mysite/docs/Sources/Load.php on line 184

Deprecated: Function create_function() is deprecated in /home/mysite/docs/Sources/Load.php on line 220

Deprecated: Function create_function() is deprecated in /home/mysite/docs/Sources/Load.php on line 223

Deprecated: Function create_function() is deprecated in /home/mysite/docs/Sources/Load.php on line 235

И так далее

Срок поддержки PHP 7.1 истекает в декабре 2019 года.

Вам недоступны вложения в этом разделе.

Вопрос: будет ли поддержка PHP 7.2 в SMF ?
Житель района Восточное Дегунино (Москва, Россия)

Delysid

У меня форум работает на php 7.1, патчил под Php 7.1 своими руками, плюс некоторые моды правил..
Не работает корректно на 7.2 - проверено...
Так, что вероятно нужно терпеть до конца и переезжать на 2.1.
Но боязно т.к. сколько патчей безопасности было до 2.0.15??
Посмотреть если security vulnerabilities по патчам - то нужно ждать до последнего как по мне безопасной версии 2.1...

S.T.A.L.K.E.R.

07 ноября 2019, 22:12:16 #16 Последнее редактирование: 07 ноября 2019, 23:03:12 от S.T.A.L.K.E.R.
Function create_function() is deprecated это уже начинается на 7.2
Этой функцией забит весь двиг,моды и прочее.
Править пока не пробовал,но на 7.3 если не обращать внимания на эту ошибку форум работает.
Хотя можно вот тут посмотреть - https://www.simplemachines.org/community/index.php?topic=559573.0
Посмотрел мод,теоретически исправить можно на 7.2 код движка,но перелопатить его придется много+еще и моды.
Может быть на НГ каникулах и займусь. Пока PHP: 7.1.33 работает хорошо.