Jump to content

Featured Replies

Posted

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

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

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

  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.х.

  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. 

  • 2 месяца спустя...

Добрый день! Серьезная проблема случилась при переходе. После апргейда в админке висело рассписание конвертации базы, медленно и мучительно процесс шел. Все вроде шло нормально, но в какой-то момент стало невозможным залогиниться на форум, в том числе админку: "Имя пользователя, который вы ввели, не связан ни с одним аккаунтом. Убедитесь, что вы ввели корректное значение.". Полез в 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/ тоже нельзя залогиниться

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

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

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

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

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

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

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

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

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

Edited by Death1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Бред как раз пишите вы говоря о том, что тройка не в 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

Видно у вас поверхностные предоставления о работе 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.

  • 2 месяца спустя...

Добрый день! Запускаю 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

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

 

  • 4 месяца спустя...

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

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

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

ERR_CONTENT_DECODING_FAILED

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

Что ему надо? 

  • 1 year later...

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

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

  • 1 месяц спустя...

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

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

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

Куда копать?

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
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.