[FAQ] Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Проблемы с установкой или работой phpBB 3.1.x? Получите помощь здесь!
С 1 июля 2018 года phpBB Group прекращает поддержку phpBB версии 3.1.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.1 до 1 января 2019 года.
Подробнее: Окончание поддержки phpBB 3.1.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

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

[FAQ] Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение rxu »

Перед принятием решения обязательно прочтите Мини [FAQ] по phpBB 3.1.x
  • Проверить свой сервер на соответствие: phpBB 3.1.x - системные требования.
  • Сделать бэкап ВСЕГО - и файлов, и базы данных, чтобы потом не было мучительно больно за бесцельно прожитые годы.
  • Переключить всех пользователей, включая себя, на стиль prosilver (phpBB 3.1.х должен делать это сам, но всё равно не повредит).
  • Удалить AutoMOD, если он был установлен, а также все "неродные" модули администраторского, модераторского, личного разделов, если таковые были установлены вместе с какими-либо модами. Удалить все "неродные" таблицы, "неродные" колонки из стандартных таблиц, права доступа если таковые были установлены вместе с какими-либо модами (кроме тех, для которых есть портированные расширения). Если это затруднительно сделать вручную, воспользуйтесь инструментом Support ToolKit (STK).
  • Удалить файлы phpBB 3.0, КРОМЕ:
    • config.php
    • папки /images
    • папки /files
    • папки /store
  • Скопировать все файлы phpBB 3.1 в папку, где находится phpBB 3.0 (кроме config.php)
  • Убедиться в наличии прав доступа к папкам store/, cache/, files/ и images/avatars/upload/ - 777, к файлу config.php - не ниже 666, и выставить таковые при необходимости.
  • Ввести в адресной строке и запустить /install/database_update.php (после имени домена и пути к форумам).
  • Удалить (или переименовать) папку /install, изменить права доступа к файлу config.php на 644.
  • Готово!
Замечание №1: все моды на новой конференции будут потеряны.
Замечание №2: стили для phpBB 3.0 несовместимы со стилями для phpBB 3.1. Если используется уникальный дизайн, его придется обновить или переписать для соответствия phpBB 3.1, иначе он будет потерян.


Перед обновлением обязательно сделать резервные копии всех файлов и базы данных.

Скачать русский пакет phpBB 3.1 можно в нашем разделе базовых пакетов на сайте.
========================
Команда для обновления базы данных с консоли которую надо выполнить из корневой директории конференции.

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

php ./bin/phpbbcli.php db:migrate --safe-mode
======================
Скрипт для установки всем пользователем стиля prosilver по умолчанию
Создайте файл fix.php в корневой директории форума, скопируйте туда код и запустите скрипт http://forum.ru/fix.php

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

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Default style ID
$sql = 'SELECT config_value FROM ' . CONFIG_TABLE . " WHERE config_name = 'default_style'";
$result = $db->sql_query($sql);
$default_style_id = (int) $db->sql_fetchfield('config_value');
$db->sql_freeresult($result);

// Default style name
$sql = 'SELECT style_name FROM ' . STYLES_TABLE . ' WHERE style_id = ' . $default_style_id;
$result = $db->sql_query($sql);
$default_style_name = $db->sql_fetchfield('style_name');
$db->sql_freeresult($result);

// Active styles
$sql = 'SELECT style_id, style_name, style_active FROM ' . STYLES_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
    $styles_list[] = $row;
}
$db->sql_freeresult($result);


echo 'Default style: ' . $default_style_name . ' (' . $default_style_id . ')<br />';

$exists = file_exists('./styles/' . $default_style_name . '/style.cfg');

if ($exists)
{
    echo 'Default style exists, no work to be done.';
    exit;
}

if (!file_exists('./styles/prosilver/style.cfg'))
{
    echo 'Prosilver does not exist. Please upload a copy of prosilver from the <a href="https://www.phpbb.com/downloads/">3.1.0 Full Package</a>.';
    exit;
}

$prosilver = array();
foreach ($styles_list as $style)
{
    if ($style['style_name'] == 'prosilver')
    {
        $prosilver = $style;
        break;
    }
}

// Install style if it doesn't exist
if (!sizeof($prosilver))
{
    $sql_ary = array(
        'style_name'        => 'prosilver',
        'style_copyright'    => '&copy; phpBB Group',
        'style_active'        => 1,
        'style_path'        => 'prosilver',
        'bbcode_bitfield'    => 'lNg=',
        'style_parent_id'    => '0',
        'style_parent_tree'    => '',
    );

    $sql = 'INSERT INTO ' . STYLES_TABLE . '
        ' . $db->sql_build_array('INSERT', $sql_ary);
    $db->sql_query($sql);

    $id = $db->sql_nextid();
    $prosilver = array(
        'style_name'    => 'prosilver',
        'style_id'        => $id,
        'style_active'    => 1,
    );

    echo 'Installed prosilver (' . $id . ').<br />';
}
else
{
    // Activate prosilver
    $sql = 'UPDATE ' . STYLES_TABLE . " SET style_active = 1 WHERE style_name = 'prosilver'";
    $db->sql_query($sql);
}

// Set it as the default style
$sql = 'UPDATE ' . CONFIG_TABLE . ' SET config_value = ' . $prosilver['style_id'] . " WHERE config_name = 'default_style'";
$db->sql_query($sql);
$cache->purge();
echo 'Set prosilver as the default style.<br />';

// Set all users' styles to prosilver
$sql = 'UPDATE ' . USERS_TABLE . ' SET user_style = ' . $prosilver['style_id'];
$db->sql_query($sql);
echo 'Updated user styles to prosilver.<br />';
echo 'Done.';
?>
==================================
Файл config.php от версии phpbb 3.1.x

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

<?php
// phpBB 3.1.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'phpbb\\db\\driver\\mysqli';
$dbhost = '';
$dbport = '';
$dbname = '';
$dbuser = '';
$dbpasswd = '';
$table_prefix = 'phpbb_';
$phpbb_adm_relative_path = 'adm/';
$acm_type = 'phpbb\\cache\\driver\\file';

@define('PHPBB_INSTALLED', true);
//@define('DEBUG', true);
//@define('PHPBB_DISPLAY_LOAD_TIME', true);
$dbname = 'имя_базы_данных';
$dbuser = 'пользователь_базы_данных';
$dbpasswd = 'пароль_базы_данных';
============
Последний раз редактировалось владимир1983 01.01.2017 15:00, всего редактировалось 28 раз.
Причина: Добавил команду для обновление БД через консоль
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение rxu »

[PHP]Apple писал(а):Эти файлы от того, что я пробовал несколько файлов.
В каком смысле? Вы миграции напрямую запускаете?
Изображение
[PHP]Apple
phpBB 1.4.0
Сообщения: 33
Стаж: 10 лет 6 месяцев
Благодарил (а): 1 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение [PHP]Apple »

rxu
rxu писал(а):В каком смысле? Вы миграции напрямую запускаете?
Не так написал, несколько раз обновлял страницу в браузере с обновлением базы данных. Из-за файлы и создались я думаю.
Содержание:
[DEBUG] Установка зависимостей обновления \phpbb\db\migration\data\v31x\style_update.
[DEBUG] Добавление данных: \phpbb\db\migration\data\v31x\style_update.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение rxu »

[PHP]Apple
Попробуйте следующее.
Откройте \phpbb\db\migration\data\v31x\style_update.php
замените

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

		return array('\phpbb\db\migration\data\v310\gold');
на

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

		return array(
			'\phpbb\db\migration\data\v310\gold',
			'\phpbb\db\migration\data\v310\dev',
		);
и потом попробуйте снова запустить апдейт базы данных.
Изображение
[PHP]Apple
phpBB 1.4.0
Сообщения: 33
Стаж: 10 лет 6 месяцев
Благодарил (а): 1 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение [PHP]Apple »

rxu
Нечего не изменилось.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение rxu »

[PHP]Apple
Кэш очищали?
Изображение
[PHP]Apple
phpBB 1.4.0
Сообщения: 33
Стаж: 10 лет 6 месяцев
Благодарил (а): 1 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение [PHP]Apple »

rxu
rxu писал(а):Кэш очищали?
В папке /cache?
Какие именно файлы там удалять?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение rxu »

[PHP]Apple писал(а):Какие именно файлы там удалять?
Все кроме index.htm и .htaccess.
Изображение
[PHP]Apple
phpBB 1.4.0
Сообщения: 33
Стаж: 10 лет 6 месяцев
Благодарил (а): 1 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение [PHP]Apple »

rxu
У меня там только один файл и одна папка.
Папка: driver
Файл: service.php
Других файлов нет.
Их удалять получается?

Добавлено спустя 1 минуту 20 секунд:
А, все, кэш чистый.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение rxu »

[PHP]Apple
Это где? Вы точно папку /cache смотрите, а не /phpbb/cache?
Изображение
[PHP]Apple
phpBB 1.4.0
Сообщения: 33
Стаж: 10 лет 6 месяцев
Благодарил (а): 1 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение [PHP]Apple »

rxurxu
rxu писал(а):Это где? Вы точно папку /cache смотрите?
Смотрел папку /cache в папке /phpbb, теперь посмотрел в корне форума, кэш чистый.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение rxu »

Все равно ошибка?
Изображение
[PHP]Apple
phpBB 1.4.0
Сообщения: 33
Стаж: 10 лет 6 месяцев
Благодарил (а): 1 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение [PHP]Apple »

rxu
rxu писал(а):Все равно ошибка?
Да.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение rxu »

[PHP]Apple
Отставить, код неверный был. Как сконвертировать phpBB 3.0 в phpBB 3.1 попробуйте, исправил.
Изображение
[PHP]Apple
phpBB 1.4.0
Сообщения: 33
Стаж: 10 лет 6 месяцев
Благодарил (а): 1 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение [PHP]Apple »

rxu
Все равно ошибка.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: Как сконвертировать phpBB 3.0 в phpBB 3.1

Сообщение rxu »

[PHP]Apple
Тогда только восстановить базу по состоянию на момент до обновления и попробовать с нуля в измененной миграцией.
Изображение
Перенесено из форума FAQ в форум Поддержка phpBB 3.1.x 01.01.2019 7:53 модератором rxu

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