Страница 2 из 58

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

Добавлено: 23.03.2014 18:30
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 = 'пароль_базы_данных';
============

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

Добавлено: 24.03.2014 17:22
rxu
Возможно, будем портировать по запросам, посмотрим.
Почти любой мод можно перенести на 3.1, с той или иной степенью сложности.
В принципе, даже для обычного опытного пользователя конвертация простого или средней сложности мода это не представит больших проблем.

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

Добавлено: 24.03.2014 17:28
xisp
Shredder писал(а):Причём, таких заброшенных - процентов 60 или 70.
Не авторы, так сторонние разработчики. У меня стоит пара заброшенных модов, будет нужно- конвертирую и выложу на всеобщее пользование.

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

Добавлено: 24.03.2014 17:42
Пчелкин
Лучше бы пошаговую инструкция портации... На паре примеров... Тока не такую, как Павел выложил...
И что делать с уже занесенными данными в Бд от таких заброшенных модов?

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

Добавлено: 24.03.2014 18:06
Sheer
SmallAnton писал(а):А балаболов не слушайте.
Особенно таких, как ты.

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

Добавлено: 24.03.2014 18:07
SmallAnton
Лучше не ставить новую версию. Думаю меня поддержат. А ждать 4.0 лучше.

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

Добавлено: 24.03.2014 18:07
rxu
В этом деле главное - начать.
Берете любое работающее расширение из репозитория (можно из моего, или любого другого - ссылки есть в разделе расширений в разработке на оффсайте), и вперед ;)

Добавлено спустя 1 минуту 8 секунд:
SmallAnton писал(а):Лучше не ставить новую версию. Думаю меня поддержат. А ждать 4.0 лучше.
Давайте не будем устраивать агитацию, что лучше или хуже - каждый в состоянии решить для себя сам.
А так, я Булгакова не читал, но осуждаю - не совсем правильно, мягко говоря.

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

Добавлено: 24.03.2014 18:13
Пчелкин
Я еще раз спрашиваю, теперь русским языком - что делать с уже записанными данными в БД от работающих или поработанным на форуме в течении долгого времени различных модов? Например мне хочется чтобы остались данные о просмотрах ИЗО в галерее... Все пойдет с нуля? Пусть даже и после портации новых версий модов... Это ведь не честно...

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

Добавлено: 24.03.2014 18:14
rxu
С данными в БД ничего не будет. Всё будет работать как и работало.

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

Добавлено: 24.03.2014 19:41
Пчелкин
Тогда еще один плЮЮЮЮс...
Разбираемся на уровне нубов дальше...
Попробовать тупо залепить вместо БД от нового двига туда старую БД - не?
Ой, чего это я... Надо пойти почитать как соединять две БД в одну... Эт к Сане Гаррету в тему...

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

Добавлено: 24.03.2014 19:44
rxu
Пчелкин писал(а):Попробовать тупо залепить вместо БД от нового двига туда старую БД - не?
Не понял вопроса.
В первом посте темы вроде указывал, как делать :)

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

Добавлено: 24.03.2014 19:48
Shredder
SmallAnton писал(а):Хватит мутить воду. Всё хорошо будет переедут моды как пить дать. А балаболов не слушайте.
SmallAnton писал(а):Лучше не ставить новую версию. Думаю меня поддержат. А ждать 4.0 лучше.
Какой-то ты странный: то ставить, то не ставить. Меняешься очень быстро. Вышла черепаха? :)

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

Добавлено: 24.03.2014 19:57
Пчелкин
1. Скопировать все файлы phpBB 3.1 поверх файлов phpBB 3.0 (кроме config.php)
1 Внести все изменения в файлы по
rxu писал(а):скачать изменения для стилей с версии 3.0.12, или патч-файлы, и изменить наработанный стиль вручную.
2. Ввести в адресной строке и запустить /install/database_update.php (после имени домена и пути к форумам)
3. Удалить (или переименовать) папку /install
ибо -
rxu писал(а):все моды на новой конференции будут потеряны.
4. К полученной БД после инсталлятора соединить все данные от старой методом из темы [utility] Склейка 2х и более форумов в один
Или пунктом 4 не заморачиваться так как -
rxu писал(а):Скрипт апдейта БД не трогает неизвестные ему данные.
Ну как вот и шашлычком побаловать и кабанчика живым оставить?

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

Добавлено: 24.03.2014 20:10
rxu
Пчелкин писал(а):пунктом 4 не заморачиваться
Вот это. Неясно, куда вы собрались вносить данные от старой базы, когда данные действия как раз над ней (ее копией) и проводятся.

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

Добавлено: 24.03.2014 20:24
ArtTeam
Если я правильно понял то после всех манипуляцией я получу новый двиг с обновленной старой базой

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

Добавлено: 24.03.2014 20:25
rxu
Именно. Но чистый, без модов.