Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Как приучить к PHP 7.2?

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Edrard
phpBB 1.0.0
Сообщения: 2
Стаж: 9 лет 3 месяца

Re: Как приучить к PHP 7.2?

Сообщение Edrard »

Я тут апдейчу форум 3.0.12 для работы с 7.2, вдруг кому-то будет нужно заменить create_function() в create_lambda, но нужен eval к сожалению.

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

    function create_lambda($args, $code) {
        static $func;
        if (!isset($func[$args][$code])) {

            $func[$args][$code] = function() use ($code,$args){
                $tmp = explode(',',$args);
                $arg_list = func_get_args();
                foreach($tmp as $key => $var){
                    if(is_array($arg_list[$key])){
                        $run = '';
                        foreach($arg_list[$key] as $arg_key => $arg_val){
                            $run .= $var.'['.$arg_key.'] = \''.$arg_val.'\';';
                        }
                    }else{
                        $run = "$var = '".$arg_list[$key]."';";
                    }
                    eval($run);
                }
                return eval($code);
            };
            //create_function($args, $code);
        }
        return $func[$args][$code];
    }
Edrard
phpBB 1.0.0
Сообщения: 2
Стаж: 9 лет 3 месяца

Re: Как приучить к PHP 7.2?

Сообщение Edrard »

Shredder писал(а): 06.03.2020 9:18 Тоже "приучаю" к PHP7. Всё получилось кроме: во время ответа в тему возникает ошибка:
КОД: ВЫДЕЛИТЬ ВСЁ

Error 4096: Object of class template could not be converted to string at file /includes/functions_messenger.php line 212
В файле в этой строке находится код:
КОД: ВЫДЕЛИТЬ ВСЁ

$this->tpl_msg[$template_lang . $template_file] = new template();
Ума не приложу, что с этим делать.
тут все просто, перед

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

$this->tpl_msg[$template_lang . $template_file] = new template();
Добавьте

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

		
            if(!is_array($this->tpl_msg)){
                $this->tpl_msg = array();
            }
Аватара пользователя
VEG
phpBB 2.0.7a
Сообщения: 609
Стаж: 18 лет
Откуда: Минск
Поблагодарили: 3 раза

Re: Как приучить к PHP 7.2?

Сообщение VEG »

Может староверам (любителям phpBB 3.0 и phpBBex 1.x) будет интересно. Проделал большую работу по адаптации phpBBex 1.9.x (который основан на phpBB 3.0) под PHP 7+. Почти все последние коммиты в репозитории об этом: https://github.com/vrubleg/phpbbex/commits/master

Там есть много изменений и по редкоиспользуемым функциям движка, в существующих мануалах много таких мелочей упущено. Если будете адаптировать свою версию движка под PHP 7+, можете использовать для вдохновения.

Текущая dev-версия phpBBex 1.9.x крутится на phpbbex.com под PHP 7.4, и через какое-то время будет выпущена как отдельный релиз. Выжидаю, чтобы оно протестировалось на моих форумах, на случай каких-то незамеченных косяков старого кода под новым PHP.
phpBBex 1.7.1 — phpBB 3 с уникальными функциями, не существующими в модах
phpBB [ media ] — универсальный bbcode для вставки аудио и видео (поддержка более 30 сервисов, без правок кода)
sweetah
phpBB 2.0.6
Сообщения: 505
Стаж: 14 лет 3 месяца
Благодарил (а): 17 раз
Поблагодарили: 10 раз

Re: Как приучить к PHP 7.2?

Сообщение sweetah »

LCFSCS писал(а): 06.01.2019 13:47 Вообщем вот полная инструкция по приучению phpBB 3.0.10 к PHP 7.0
Спасибо за инструкцию! Единственная проблема на 3.0.14 – не работают кастомные ббкоды, добавленные просто из админки. Все они имеют модификаторы ies, на что конечно же ругается php.

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

preg_match(): The /e modifier is no longer supported, use preg_replace_callback instead
Может кто-то решил этот момент?
sweetah
phpBB 2.0.6
Сообщения: 505
Стаж: 14 лет 3 месяца
Благодарил (а): 17 раз
Поблагодарили: 10 раз

Re: Как приучить к PHP 7.2?

Сообщение sweetah »

Подсмотрел тут – https://github.com/vrubleg/phpbbex/comm ... 4fec2a4218
VEG, спасибо :)
Аватара пользователя
VEG
phpBB 2.0.7a
Сообщения: 609
Стаж: 18 лет
Откуда: Минск
Поблагодарили: 3 раза

Re: Как приучить к PHP 7.2?

Сообщение VEG »

У нас там уже и PHP 8.2 поддерживается 8-)
phpBBex 1.7.1 — phpBB 3 с уникальными функциями, не существующими в модах
phpBB [ media ] — универсальный bbcode для вставки аудио и видео (поддержка более 30 сервисов, без правок кода)
sweetah
phpBB 2.0.6
Сообщения: 505
Стаж: 14 лет 3 месяца
Благодарил (а): 17 раз
Поблагодарили: 10 раз

Re: Как приучить к PHP 7.2?

Сообщение sweetah »

VEG, после смены версии php 5 -> 7 я заметил ускорение генерации страниц в 5-6 раз, что впечатляет, конечно! Есть смысл в переходе 7 -> 8 в плане производительности?
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Как приучить к PHP 7.2?

Сообщение Siava »

sweetah, в плане производительности разницы почти нет. В плане безопасности смысл есть https://www.php.net/supported-versions.php
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)

Вернуться в «phpBB-пространство»