Инструкция по обновлению на phpBBex 2.x с phpBB 3.1.x и phpBBex 2.x

Список разделов phpBBex 2.x (заброшен) Мастерская 2.x

Описание: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 2.x и phpBB 3.1.x.
Модератор: Поддержка

Сообщение #1 Sumanai » 10.08.2015, 18:22

Данная инструкция подходит для обновления версий phpBB 3.1.x и phpBBex 2.x. Для обновления phpBB 3.0.x и phpBBex 1.x используйте эту инструкцию.
  1. Сделать бекап БД, это никогда не помешает
  2. Удалить файлы phpBB 3.1.x или phpBBex 2.x устаревшей версии, КРОМЕ:
    • config.php
    • папки /images
    • папки /files
    • папки /store
    • папки /ext
    • папки /styles
  3. Скопировать все файлы phpBBex 2.x (с заменой) обновляемой версии (кроме config.php) в папку, где находится phpBB 3.1.x или phpBBex 2.x
  4. Ввести в адресной строке и запустить/install/database_update.php (после имени домена и пути к форумам).
  5. Удалить (или переименовать) каталог /install
  6. Зайти в STK по адресу ваш_форум/stk/ и запустить там "Проверка аватар". Пользователям phpBBex этого делать не нужно.

При использовании сторонних стилей их тоже желательно обновить, ищите обновления на сайте разработчика стиля.
При использовании своей модификации стандартного стиля его нужно обновлять самостоятельно. Проще всего обновлять стили, созданные по рекомендуемой инструкции.
За основу взята инструкция с phpBBguru и доработана для phpBBex.
Последний раз редактировалось Sumanai 18.03.2016, 15:18, всего редактировалось 4 раз(а).
Причина: Уточнение про стили
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Решено

Сообщение #2 ЖЪРЧИК » 24.08.2015, 11:46

Код: Выделить всё
Fatal error: Uncaught exception 'Symfony\Component\Routing\Exception\RouteNotFoundException' with message 'Unable to generate a URL for the named route "phpbb_pages_main_controller" as such route does not exist.' in W:\domains\localhost\vendor\symfony\routing\Symfony\Component\Routing\Generator\UrlGenerator.php:134 Stack trace: #0 W:\domains\localhost\phpbb\controller\helper.php(173): Symfony\Component\Routing\Generator\UrlGenerator->generate('phpbb_pages_mai...', Array, false) #1 W:\domains\localhost\ext\phpbb\pages\event\listener.php(129): phpbb\controller\helper->route('phpbb_pages_mai...', Array) #2 [internal function]: phpbb\pages\event\listener->show_page_links(Object(phpbb\event\data)) #3 W:\domains\localhost\vendor\symfony\event-dispatcher\Symfony\Component\EventDispatcher\EventDispatcher.php(164): call_user_func(Array, Object(phpbb\event\data)) #4 W:\domains\localhost\vendor\symfony\event-dispatcher\Symfony\Component\EventDispatcher\EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDis in W:\domains\localhost\vendor\symfony\routing\Symfony\Component\Routing\Generator\UrlGenerator.php on line 134

Базу почистил через пхпмайадмин, залил из бекапа. Попытался "исправить" через СТК и вот.

Добавлено спустя 1 минуту 9 секунд:
Код: Выделить всё
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions.php on line 2607: Undefined index: user_id

FILE: [ROOT]/includes/functions.php
LINE: 2607
CALL: stk_msg_handler()

FILE: [ROOT]/includes/acp/acp_styles.php
LINE: 149
CALL: add_form_key()

FILE: [ROOT]/includes/acp/acp_styles.php
LINE: 140
CALL: acp_styles->frontend()

FILE: [ROOT]/stk/includes/critical_repair/autorun/style_dir_repair.php
LINE: 48
CALL: acp_styles->main()

FILE: [ROOT]/stk/includes/critical_repair.php
LINE: 110
CALL: erk_style_dir_repair->run()

FILE: [ROOT]/stk/erk.php
LINE: 78
CALL: critical_repair->autorun_tools()

Брал из репозитория движок.

Чинится путем очишения кэша, изменения адресов куков, оптимизацией БД через СТК
ЖЪРЧИК
Аватара
Репутация: 174
С нами: 9 лет 7 месяцев

Сообщение #3 ЖЪРЧИК » 24.08.2015, 15:06

На опен сервере не запустилась копия:
Код: Выделить всё
2015-08-24 15:01:31  Запуск MySQL-5.5
2015-08-24 15:01:31  Запуск Apache-2.4
2015-08-24 15:01:31  Проверка состояния сервера
2015-08-24 15:02:05  Не удалось запустить MySQL-5.5
2015-08-24 15:02:05  Сбой запуска!
2015-08-24 15:02:05  --------------------------------------------
2015-08-24 15:02:05  Начало процедуры остановки сервера

Мускл пишет:
Код: Выделить всё
w:\modules\database\MySQL-5.5\bin\mysqld.exe, Version: 5.5.41-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time                 Id Command    Argument
Код: Выделить всё
150824 15:01:35 [Note] Plugin 'FEDERATED' is disabled.
w:\modules\database\MySQL-5.5\bin\mysqld.exe: Table 'mysql.plugin' doesn't exist
150824 15:01:35 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
150824 15:01:35 InnoDB: The InnoDB memory heap is disabled
150824 15:01:35 InnoDB: Mutexes and rw_locks use Windows interlocked functions
150824 15:01:35 InnoDB: Compressed tables use zlib 1.2.3
150824 15:01:35 InnoDB: Initializing buffer pool, size = 20.0M
150824 15:01:35 InnoDB: Completed initialization of buffer pool
150824 15:01:36 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 8542659
150824 15:01:36  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 8548364
150824 15:01:38  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 208491, file name .\mysql-bin.000023
150824 15:01:39  InnoDB: Waiting for the background threads to start
150824 15:01:40 InnoDB: 5.5.41 started; log sequence number 8548364
150824 15:01:40 [Note] Recovering after a crash using mysql-bin
150824 15:01:40 [Note] Starting crash recovery...
150824 15:01:40 [Note] Crash recovery finished.
150824 15:01:40 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
150824 15:01:40 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
150824 15:01:40 [Note] Server socket created on IP: '127.0.0.1'.
150824 15:01:40 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

Как лечить? Пишет мускл апгрейт
ЖЪРЧИК
Аватара
Репутация: 174
С нами: 9 лет 7 месяцев

Сообщение #4 Sumanai » 24.08.2015, 15:13

Проблема не имеет отношения к обновлению, это проблема в сервере.
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #5 Ximka » 28.08.2015, 09:56

вот както так
Код: Выделить всё
SQL ERROR [ mysqli ]

Unknown column 'Array' in 'where clause' [1054]

SQL

SELECT username, username_clean, user_id, user_type, user_allow_viewonline, user_colour, group_id FROM phpbb_users WHERE user_id = Array ORDER BY username_clean ASC

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/ext/shredder/separate_bots/event/listener.php
LINE: 96
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/ext/shredder/separate_bots/event/listener.php
LINE: 197
CALL: shredder\separate_bots\event\listener->obtain_users_online_string()

FILE: (not given by php)
LINE: (not given by php)
CALL: shredder\separate_bots\event\listener->separate_bots()

FILE: [ROOT]/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php
LINE: 164
CALL: call_user_func()

FILE: [ROOT]/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php
LINE: 53
CALL: Symfony\Component\EventDispatcher\EventDispatcher->doDispatch()

FILE: [ROOT]/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php
LINE: 167
CALL: Symfony\Component\EventDispatcher\EventDispatcher->dispatch()

FILE: [ROOT]/phpbb/event/dispatcher.php
LINE: 60
CALL: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()

FILE: [ROOT]/phpbb/event/dispatcher.php
LINE: 46
CALL: phpbb\event\dispatcher->dispatch()

FILE: [ROOT]/includes/functions.php
LINE: 5353
CALL: phpbb\event\dispatcher->trigger_event()

FILE: [ROOT]/index.php
LINE: 225
CALL: page_header()

Добавлено спустя 16 минут 48 секунд:
решила проблему тем что при обновлении существующего форума удалила все папки и файлы кроме

config.php
папки /images
Ximka F
Откуда: Тушино
Репутация: 5
С нами: 11 лет 9 месяцев

Сообщение #6 Sumanai » 28.08.2015, 14:55

Ximka, эта инструкция по обновлению с 3.1. У вас скорее всего была версия 3.0, поэтому вам нужно было следовать другой инструкции.
Советую провести конвертацию заново по правильной инструкции во избежании проблем в будущем.
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #7 pcxp » 14.09.2015, 17:17

А нужно ли менять chmod-настройки каких-либо папок и файлов, кроме config.php?
До/после апгрейда с 2.0.0 до 2.0.1?

Я проапгрейдился с phpBBex 2.0.0 до версии 2.0.1, и вот что я вижу на главной странице Админки, после апгрейда:

Изображение

WTF?
pcxp M
Аватара
Откуда: SPb
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #8 Sumanai » 14.09.2015, 18:35

pcxp:А нужно ли менять chmod-настройки каких-либо папок и файлов, кроме config.php?
Для папок /cache/ /files/ /images/avatars/upload/ установить 777 разве что. Но если работает, то не нужно.
pcxp:Я проапгрейдился с phpBBex 2.0.0 до версии 2.0.1, и вот что я вижу на главной странице Админки, после апгрейда:
Пункт 3 инструкции.

Добавлено спустя 7 минут 15 секунд:
Sumanai:Пункт 3 инструкции
Хотя да, есть какие- то неполадки.
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #9 pcxp » 14.09.2015, 18:50

А как, вообще, можно было проапгрейдиться без пункта номер 3?
Сообщение Админки о версии, я заскриншотил после апгрейда, т.е после успешного применения пункта 3.

Это просто косяк с сообщением, или апгрейд не был произведён?
Хотя, после применения пункта 3, было получено сообщение, что всё ОК.
pcxp M
Аватара
Откуда: SPb
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #10 Sumanai » 14.09.2015, 18:53

Sumanai:Хотя да, есть какие- то неполадки.
Хотя нет, на чистой БД всё должно пройти гладко.
pcxp:А как, вообще, можно было проапгрейдиться без пункта номер 3?
Да легко, данный скрипт при обновлении с 2.0.0 до 2.0.1 просто обновляет строчки с версиями в БД.
Попробуйте применить пункт 3 ещё раз и посмотрите внимательнее, будет ли там что- то кроме "Окей".

Добавлено спустя 1 минуту 7 секунд:
При первом выполнении должно быть вот так:
Спойлер
Обновление базы данных до последней стабильной версии

Тип базы данных :: mysqli
Предыдущая версия :: 3.1.5
Обновление схемы: \phpbb\db\migration\data\vphpbbex2x\v201.
Обновлена схема: \phpbb\db\migration\data\vphpbbex2x\v201; Время: 0.00 секунд
Добавление данных: \phpbb\db\migration\data\vphpbbex2x\v201.
Обновлены данные: \phpbb\db\migration\data\vphpbbex2x\v201; Время: 0.00 секунд
Обновление схемы: \phpbb\db\migration\data\v31x\v316rc1.
Обновлена схема: \phpbb\db\migration\data\v31x\v316rc1; Время: 0.00 секунд
Добавление данных: \phpbb\db\migration\data\v31x\v316rc1.
Обновлены данные: \phpbb\db\migration\data\v31x\v316rc1; Время: 0.00 секунд
Обновление схемы: \phpbb\db\migration\data\v31x\v316.
Обновлена схема: \phpbb\db\migration\data\v31x\v316; Время: 0.00 секунд
Добавление данных: \phpbb\db\migration\data\v31x\v316.
Обновлены данные: \phpbb\db\migration\data\v31x\v316; Время: 0.00 секунд
База данных обновлена!
Убедитесь в том, что вы также обновили файлы форума. Этот файл обновляет только базу данных.
Войдите на форум и проверьте, что всё работает нормально. Не забудьте удалить, переименовать или переместить каталог install!
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #11 pcxp » 14.09.2015, 22:06

Какая-то диковинная фантасмагория, право слово!
2 разa проделал тот же апгрейд, каждый раз скачивал заново .zip с Битбакета.

Каждый раз всё было ОК, и не было никаких сообщений об ошибках при апгрейде DB.

Изображение

Но в Админке висела надпись, что это не самая последняя версия, что мол, существует более новая версия 2.0.1 (см. выше)...

Бог любит Троицу :)
Проделал апгрейд в третий раз, скачав заново zip-пакет из репозитория(может этот пакет обновлялся, и я первые 2 раза качал не самую "свежую" его версию?)

И вот, вуаля:

Изображение
pcxp M
Аватара
Откуда: SPb
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #12 CourtNor » 24.03.2016, 08:17

Sumanai:У нас есть инструкция, следуйте ей. Если всё равно будут ошибки, спрашивайте в той теме.
Сделал все по инструкции, ошибка та же
Код: Выделить всё
SQL ERROR [ mysqli ]

Unknown column 'user_browser' in 'field list' [1054]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.

Что не так?
CourtNor
Репутация: 2
С нами: 8 лет

Сообщение #13 Neufoxet » 05.06.2016, 21:04

Как перейти с phpbb 3.1.9 на phpbbex ?
Neufoxet
Репутация: 3
С нами: 7 лет 9 месяцев

Сообщение #14 Sumanai » 05.06.2016, 22:33

По этой инструкции, отличается один пункт, он отмечен в списке шагов.
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #15 Neufoxet » 06.06.2016, 20:25

Пытался обновиться с phpbb 3.1.9 на phpbbex 2.0.4 :

Обновление базы данных до последней стабильной версии

Тип базы данных :: mysqli
Предыдущая версия :: 3.1.9
Обновление схемы: \phpbb\db\migration\data\vphpbbex1x\v140.
Код: Выделить всё
SQL ERROR [ mysqli ]

Duplicate column name 'user_rating_negative' [1060]

SQL

ALTER TABLE `phpbb_users` ADD COLUMN `user_rating_negative` int(8) UNSIGNED DEFAULT '0' NOT NULL AFTER user_rating_positive

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/phpbb/db/tools.php
LINE: 1436
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/phpbb/db/tools.php
LINE: 1826
CALL: phpbb\db\tools->_sql_run_sql()

FILE: [ROOT]/phpbb/db/tools.php
LINE: 810
CALL: phpbb\db\tools->sql_column_add()

FILE: (not given by php)
LINE: (not given by php)
CALL: phpbb\db\tools->perform_schema_changes()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 550
CALL: call_user_func_array()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 496
CALL: phpbb\db\migrator->run_step()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 305
CALL: phpbb\db\migrator->process_data_step()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 202
CALL: phpbb\db\migrator->try_apply()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 185
CALL: phpbb\db\migrator->update_do()

FILE: [ROOT]/install/database_update.php
LINE: 205
CALL: phpbb\db\migrator->update()

Добавлено спустя 1 час 29 минут:
Попробовал снова. Только перед этим отключил все расширения и удалил их данные.
Ошибка уже другая
Код: Выделить всё
SQL ERROR [ mysqli ]

Duplicate entry 'odg' for key 'extension' [1062]

SQL

ALTER TABLE phpbb_extensions ADD UNIQUE INDEX extension(extension)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/phpbb/db/tools.php
LINE: 1436
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/phpbb/db/tools.php
LINE: 2159
CALL: phpbb\db\tools->_sql_run_sql()

FILE: [ROOT]/phpbb/db/tools.php
LINE: 910
CALL: phpbb\db\tools->sql_create_unique_index()

FILE: (not given by php)
LINE: (not given by php)
CALL: phpbb\db\tools->perform_schema_changes()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 550
CALL: call_user_func_array()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 496
CALL: phpbb\db\migrator->run_step()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 305
CALL: phpbb\db\migrator->process_data_step()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 202
CALL: phpbb\db\migrator->try_apply()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 185
CALL: phpbb\db\migrator->update_do()

FILE: [ROOT]/install/database_update.php
LINE: 205
CALL: phpbb\db\migrator->update()
Может потому, что на денвере пробую сделать ?
Neufoxet
Репутация: 3
С нами: 7 лет 9 месяцев

Сообщение #16 Sumanai » 07.06.2016, 15:30

Neufoxet:Попробовал снова. Только перед этим отключил все расширения и удалил их данные
Да, верно, это какое-то расширение репутации уже добавило свои колонки, либо у вас когда- то стоял phpBBex, но в конфигах информация не сохранилась.
Neufoxet:Может потому, что на денвере пробую сделать ?
Нет.
В админке на вкладке "Сообщения" слева "Управление расширениями файлов", там вам необходимо удалить расширение odg, если оно встречается дважды, удалите одно из них. Проверьте остальные на дубликаты и запустите обновление.
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #17 Neufoxet » 11.06.2016, 19:02

уффф.....
Оключил все расширения, удалил их данные, удалил дубликаты расширений файлов и обновление прошло успешно. Это уже хорошо. Но мне хотелось бы сохранить данные некоторых расширений. Например "Thanks for posts"
Neufoxet
Репутация: 3
С нами: 7 лет 9 месяцев

Сообщение #18 Sumanai » 11.06.2016, 19:29

Можно экспортировать эти данные до обновления, и импортировать после, отключив стандартную репутацию. Это если поля одного типа.
Вообще, я сейчас посмотрю, как обеспечить совместимость с этим расширением. Может, добавлю префиксы к колонкам БД. Хотя последнгее думаю будет актуально для phpBBex 3.
Другие проблемные расширения были?

Добавлено спустя 1 час 13 минут:
Хм, дело не в "Thanks for posts", у этого расширения совсем другие поля и таблицы, и оно прекрасно работает на phpBBex, и его данные удалять не нужно.
Можете провести конвертацию без удаления данных расширений, только удалив вручную данную колонку в БД.
При появлении ошибок необходимо начинать конвертацию заново, конвертация должна проходить без ошибок.
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #19 Neufoxet » 12.06.2016, 11:04

Заметил ещё ошибки.
  1. При вставке кода URL или IMG нет всплывающего окна для ввода адреса/.
  2. Нет кнопки BBcode Media.
  3. Нет возможности добавить вложения
  4. Значки другие
быстр_ответ.png

значки.png
значки.png (1.5 КБ) Просмотров: 19634
Neufoxet
Репутация: 3
С нами: 7 лет 9 месяцев

Сообщение #20 Sumanai » 12.06.2016, 11:17

Neufoxet:При вставке кода URL или IMG нет всплывающего окна для ввода адреса
Стиль какой, есть ли ошибки яваскрипта на странице?
Neufoxet:Нет кнопки BBcode Media.
Это простой отдельный ббкод, добавляйте в админке.
Neufoxet:Нет возможности добавить вложения
Настраивается в админке.
Neufoxet:Значки другие
На этом форуме движок безбожно устарел, у меня нет доступа к хостингу. Актуальная версия по ссылке у меня в профиле.
Sumanai M
Автор темы
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

След.

Вернуться в Мастерская 2.x



cron