Jump to content

Переход с IPB 3.4.6 Null на IPB 4.0


Recommended Posts

Друзья помогите советом.

Хочу перейти на лицензионный IPB 4 с IPB 3.4.6 NULL.

Что для этого нужно.  Может ссылку дадите как правильно это сделать?

Link to comment
Share on other sites

Приобрести лицензию. Скачать дистрибутив, залить его в корень форума, распаковать и начать обновление. База должна быть в кодировке utf8

Link to comment
Share on other sites

  1. Покупаете лицензию IPS Community Suite
  2. Проверяете возможность установки версии 4.0 с помощью специального скрипта community.invisionpower.com/files/file/7046-get-ready-for-ips-40
  3. Конвертируете базу в UTF-8 специальным скриптом community.invisionpower.com/files/file/6823-ips-utf8-database-converter
  4. Заливаете файлы версии 4.0 поверх файлов 3.4.6
  5. Переходите в /admin/upgrade
  6. Обновляетесь приложения с 3.4.6 до 4.0.2, активируя лицензию вашим лицензионным ключом
  7. После обновления проверяете настройка, права доступа и так далее
  8. Профит!

Оказываю услуги по платному обновлению ваших форумов с версий 3.3.х и 3.4.х до 4.0.х.

Link to comment
Share on other sites

  1. Покупаете лицензию IPS Community Suite
  2. Проверяете возможность установки версии 4.0 с помощью специального скрипта community.invisionpower.com/files/file/7046-get-ready-for-ips-40
  3. Конвертируете базу в UTF-8 специальным скриптом community.invisionpower.com/files/file/6823-ips-utf8-database-converter
  4. Заливаете файлы версии 4.0 поверх файлов 3.4.6
  5. Переходите в /admin/upgrade
  6. Обновляетесь приложения с 3.4.6 до 4.0.2, активируя лицензию вашим лицензионным ключом
  7. После обновления проверяете настройка, права доступа и так далее
  8. Профит!

Оказываю услуги по платному обновлению ваших форумов с версий 3.3.х и 3.4.х до 4.0.х.

​с 3,4,6 в UTF-8 конвертировать не надо ибо она уже в UTF-8. 

Link to comment
Share on other sites

  • 2 months later...

Добрый день! Серьезная проблема случилась при переходе. После апргейда в админке висело рассписание конвертации базы, медленно и мучительно процесс шел. Все вроде шло нормально, но в какой-то момент стало невозможным залогиниться на форум, в том числе админку: "Имя пользователя, который вы ввели, не связан ни с одним аккаунтом. Убедитесь, что вы ввели корректное значение.". Полез в phpMyAdmin там висело, что таблица "core_members" Используется, а при попытке открыть выдавал сообщение, что Таблица повреждена и не восстановилась после автоматического восстанровления. Связался с админом хостинга, он подтвердил, что мускуль ничего не выполняет. Тогда я восстановил таблицу через запрос repair table `core_members`; и в phpMyAdmin она появилась целехенькая. Но форум так и продолжает выдавать то же сообщение. Полагаю, что движек считает, что таблица конвертирована, а она до конвертации. Если так, то какие запросы можно запутить вручную? Или проблема в другом?

в англ. версии: The Display Name you entered does not belong to any account. Make sure that it is typed correctly.

полный паралич, admin/upgrade/ тоже нельзя залогиниться

Link to comment
Share on other sites

>>>Надо, ибо таблицы не в UTF-8
Sanshalay, а в чем они? 3.x по умолчанию работает в utf8, людей не вводите в заблуждения. Вы путаете способ сравнения - unicode и general.

newmanew, обновляться лучше на локалхосте.

Link to comment
Share on other sites

Пока тайм-аут. Обнаружил, что таблица восстановилась выборочно... львиная доля записей тупо отсутствует, в том числе мой админский аккаунт. Попробую привязать табилцу из бэкапа от 3.4.8.

Link to comment
Share on other sites

>>>Надо, ибо таблицы не в UTF-8
Sanshalay, а в чем они? 3.x по умолчанию работает в utf8, людей не вводите в заблуждения. Вы путаете способ сравнения - unicode и general.

newmanew, обновляться лучше на локалхосте.

Лично обновлял клиенту форум, где сравнение всех таблиц было cp1251_general_ci и база не в UTF-8. Пришлось конвертировать, для этого конвертер и был разработан

Link to comment
Share on other sites

Лично обновлял клиенту форум, где сравнение всех таблиц было cp1251_general_ci и база не в UTF-8. Пришлось конвертировать, для этого конвертер и был разработан

Ну этож надо додуматься не в utf8 установить... да и не помню я что бы можно было ипб3 установить не в utf8, как раз сейчас буду чистую ипб3 ставить и глянем возможно ли это)

Ах да... совсем забыл... базу в мускуле можно в любой кодировке доступной создать. Значит просто не далёкий устанавливал, выбравший cp1251

Edited by Death1
Link to comment
Share on other sites

newmanew, обновляться лучше на локалхосте.

Это что, нулл инсталлить у себя надо было? Лицензия ж на URL сервера. 

Link to comment
Share on other sites

А я про что? Если выбран не утф, то и таблицы будут не в утф. 

Совершенно верно, я маленько подзабыл просто :)

Link to comment
Share on other sites

Это что, нулл инсталлить у себя надо было? Лицензия ж на URL сервера. 

Он бред пишет, не слушайте его. Бэкап остался? Было бы хорошо восстановить его и заново попробовать обновиться.

@soka, вы бы сначала сами разобрались, а потом уже шли другим помогать. Ибо пока в заблуждение людей вводите только вы.

Link to comment
Share on other sites

Он бред пишет, не слушайте его. Бэкап остался? Было бы хорошо восстановить его и заново попробовать обновиться.

@soka, вы бы сначала сами разобрались, а потом уже шли другим помогать. Ибо пока в заблуждение людей вводите только вы.

я как-то лоханулся, сделав бэкап только до upgrade, но не перед этой процедурой доконвертации. В целом форум ужасно работал сразу после обновления, тормоза, постоянный загруз Апача с 504 тайм-аут. У меня последняя надежда - на чистый инсталл 4.0 подцепить только самые необходимые таблицы с контентом. Для 3.4.8 был такой список таблиц в этом форуме, а есть к 4.0?

Link to comment
Share on other sites

У меня последняя надежда - на чистый инсталл 4.0 подцепить только самые необходимые таблицы с контентом. Для 3.4.8 был такой список таблиц в этом форуме, а есть к 4.0?

Возможно @IandroidFan поможет, он делал что-то подобное

Link to comment
Share on other sites

Он бред пишет, не слушайте его. Бэкап остался? Было бы хорошо восстановить его и заново попробовать обновиться.

Бред как раз пишите вы говоря о том, что тройка не в utf8. Если ваш клиент умудрился установить форум с кривой кодировкой то это является исключением, а не правило. И то, там скорее всего смесь кодировок - utf8 конвертировался записывался в бд как cp1251, и при извлечение  в cp1251 utf8 становился снова нормальным. Конвертер перекодирует тип сравнения, потому что в четверка требует unicode, хотя при желании можно поставить и на general. Вы похоже сами не разобрались в его предназначении а учите тут других. 
 

Link to comment
Share on other sites

Ну этож надо додуматься не в utf8 установить... да и не помню я что бы можно было ипб3 установить не в utf8, как раз сейчас буду чистую ипб3 ставить и глянем возможно ли это)

Таблицы создаются в той кодировке, которая указана при создании базы данных  (если она задана, в противном случае также будет использоваться кодировка в которой работает сервер), а вот кодировка соединения (set names) по умолчанию отсутствует в конфиге форума, и при соединение с сервером используется дефолтная кодировка mysql сервера. Если mysql сервер работает не в utf8 при установке IPB с кириллическими буквами начинается каша.

Link to comment
Share on other sites

Бред как раз пишите вы говоря о том, что тройка не в utf8. Если ваш клиент умудрился установить форум с кривой кодировкой то это является исключением, а не правило. И то, там скорее всего смесь кодировок - utf8 конвертировался записывался в бд как cp1251, и при извлечение  в cp1251 utf8 становился снова нормальным. Конвертер перекодирует тип сравнения, потому что в четверка требует unicode, хотя при желании можно поставить и на general. Вы похоже сами не разобрались в его предназначении а учите тут других.

Вы видно плохо разбираетесь в том, что сами же говорите. Линейка 3.х НЕ требует UTF-8 (выделил жирным капслоком, если до вас не доходит), именно про я говорил. Т.е. любой человек может установить форум с базой в cp1251 и таблицы будут в сравнении cp1251_general_ci. и никакой каши не будет. Да, пользователь может изначально установить UTF-8, но это необязательно. Линейка 4.0 же ТРЕБУЕТ UTF-8, т.е. вы ДОЛЖНЫ  конвертировать свою базу в UTF-8 перед обновлением, чтобы кодировка базы была корректной. А вот сравнения таблиц для обновления значения не имею, хотя я своим клиентам полностью конвертирую базу и таблицы.

И ещё. Вот информация по базе данных Мафии:

202 таблицы имеют корректное сравнение
183 таблицы имеют некорректное сравнение

Это к претензиям, что 3.х использует UTF8

Link to comment
Share on other sites

Видно у вас поверхностные предоставления о работе 3.x, и дальше бд своих клиентов с кодом форума вы не знакомы. Вы запутались между ТРЕБУЕТ и НЕ ТРЕБУЕТ и строите свои выводы с точки зрения пользователя - требует форум чего-то или нет. Разница между ними в том, что когда по вашему "требует" - чекаются таблицы на соответствие кодировке, другой этого "не требует" но де-факто в коде предполагается что данные в utf-8, а что находится не в этой кодировке конвертируется в html сущности. Я еще ни у кого не встречал чтобы 3x работал нормально с кирилицей на чистом windows-1251 (кодировка бд, кодировка соединения, заголовки сервера) без никаких проблем. Если что-то подобное есть, то там либо смесь кодировок, либо все в html-сущностях и половина функции работает криво - кирилица в json и тд. То, что вы лично что-то встречали так я тоже лично встречал когда одна кодировка записывалась в бд как другая при этом форум внешне работал нормально. Это ни разу не говорит о том, что "таблицы не в utf-8". У нормальных людей тройка работает в utf8. 

Если смотреть на код пресловутого "Get Ready for IPS Community Suite 4.0" которого вы здесь приводите, то там для проверки используется кодировка вместе со способ сравнения - utf8_unicode_ci

if ( substr( $tableName, 0, 5 ) !== 'orig_' and $column['Collation'] and !in_array( $column['Collation'], array( 'utf8_unicode_ci', 'utf8mb4_unicode_ci' ) ) ) { $utf8 = FALSE; $utf8Info = "{$tableName}.{$column['Field']} is {$column['Collation']}"; break 2; }

Этот инструмент выдаст, что кодировка неправильная если способ сравнения отличный от unicode даже если кодировка utf8 (utf8_general_ci). Может быть поэтому кажется что таблицы не в utf8?..

Если смотреть на код чекера форума при обновлении, то там проверяется только кодировка

    if( isset( $definition['collation'] ) AND mb_strtolower( mb_substr( $definition['collation'], 0, 4 ) !== 'utf8' ) )
	{
		$convert = TRUE;
		break;
	}

Но так как в драйвере \IPS\Db $collation жестко задан как utf8_unicode_ci, то если способ сравнения general лучше конвертировать его в unicode чтобы потом не получить Illegal mix of collation.

		/* Text types specify a character set and collation */
		if( in_array( \strtoupper( $data['type'] ), array( 'CHAR', 'VARCHAR', 'TINYTEXT', 'TEXT', 'MEDIUMTEXT', 'LONGTEXT', 'ENUM', 'SET' ) ) )
		{
			$definition .= "CHARACTER SET {$this->charset} COLLATE {$this->collation} ";
		}

Резюмируя сказанное:

- тройка по умолчанию работает в UTF-8

- конвертировать есть смысл, но не потому что "таблицы не UTF-8" а чтобы поменять способ сравнения (collate) на unicode.

Link to comment
Share on other sites

  • 2 months later...

Добрый день! Запускаю utf8convert.

На локал хосте пишет 

Error: include(/uploads/profile/photo-8795.jpg): failed to open stream: No such file or directory File: C:\Winginx\home\localhost\public_html\conf_global.php(184) : runtime-created function Line: 1

на сервере пишет

Error: is_file(): open_basedir restriction in effect. File(/var/www/forum/conf_global.php) is not within the allowed path(s): (/var/www/forum/data:.) File: /var/www/forum/data/www/forum/conf_global.php Line: 269

Подскажите пожалуйста в чем может быть причина?

 

Link to comment
Share on other sites

  • 4 months later...

Скачал олновление дистрибутив с офсайта, залил поверх. 

Зашел в браузере /admin/upgrade/ и натыкаюсь на то, что выскакивает : 

Веб-страница недоступна

ERR_CONTENT_DECODING_FAILED

Сам сайт естественно отображает error.html

Что ему надо? 

Link to comment
Share on other sites

  • 1 year later...

Такая проблема. Пользователь выходи с форума. Потом опять заходит по тому же адресу и оказывается залогинен, как будто не выходил. Что за проблема.

Проблема наблюдается в Хроме. В Лисе такого нет.

Link to comment
Share on other sites

Удалите этот пост. У меня нет прав ни редактировать, ни удалять (очень странная настройка форума).

Link to comment
Share on other sites

  • 1 month later...

Странная история, после захода на /admin/upgrade требуется ввести логин пароль админа.  И он не подходит.

Логин с паролем 100% верные, но на всякий случай пробовал другим админом зайти, та же история.  Смотрю в базу - логин и хэш те же, ничего не менялось.

До того как заливать дистрибутив по базе прошелся конвертеров, все в UTF8, логинился на форум без проблем. 

Куда копать?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически строена.   Отображать как обычную ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...