Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ситуация начинает походить на катастрофу. Нужна помошь.
 
 автор: Владимир55   (11.08.2006 в 12:08)   письмо автору
 
 

На сайте установлен Форум, выполненный на движке PhрBB версии 2.0.10, в котором содержится около двух тысяч записей, в основном о здоровье человека.

После переезда на другой хостинг я установил движок форума такого же типа, но версии 2.0.21, ибо теперь дистрибутируется только такая. Но вот перенести форум со старого движка на новый никак не удается, насмотря на интенсивные четырехдневные попытки. Базу с трудом, но перенес, разбив на отдельные строки, но при этом форум утратил работоспособность.

Очень не хочется терять старые записи, ибо люди находили в них много пролезного и нужного для них, а сейчас пишут с просьбой о восстановлении.

Можно ли как-то спасти информацию?

   
 
 автор: Loki   (11.08.2006 в 12:13)   письмо автору
 
   для: Владимир55   (11.08.2006 в 12:08)
 

Для начала, следует убедится что форум вообще рабочий (еще без данных). Если вы все установили правильно и форум работает сам по себе, то сравните структуру старой базы и новой. Если таблицы у новой версии такие же как и у старой, тогда надо разбираться где вы накосячили при импорте.

   
 
 автор: Владимир55   (11.08.2006 в 12:56)   письмо автору
 
   для: Loki   (11.08.2006 в 12:13)
 

Разумеется, это я всё проделал. Собственно, только этим я и занималсмя всё это время. По отдельности оба форума работают.

Базы тоже сравнил - они разные и отличаются одной строкой. В старом 29 строк, а в новом 30. Вот старая база:

phpbb_auth_access
phpbb_banlist
phpbb_categories
phpbb_config
phpbb_confirm
phpbb_disallow
phpbb_forums
phpbb_forum_prune
phpbb_groups
phpbb_posts
phpbb_posts_text
phpbb_privmsgs
phpbb_privmsgs_text
phpbb_ranks
phpbb_search_results
phpbb_search_wordlist
phpbb_search_wordmatch
phpbb_sessions
phpbb_smilies
phpbb_themes
phpbb_themes_name
phpbb_topics
phpbb_topics_watch
phpbb_users
phpbb_user_group
phpbb_vote_desc
phpbb_vote_results
phpbb_vote_voters
phpbb_words


А новая отличается наличием строки phpbb_sessions_keys

При переносе я прежде удалил в новом форуме всё, кроме этой дополнительной строки, и уже после этого по одной внес все остальные строки.

Проблемной оказалась строка phpbb_vote_voters - она не входит и все зависает без диагностики причин.

Тогда я сделал параллельно другую пустую базу и попытался перенести туда строку phpbb_vote_voters Это дало удивительные результаты - сама эта строка не перенеслась, а в базе образовалось 17 первых строк! Видимо, строка phpbb_vote_voters является каким-то хитрым архивом, формируемым автоматически и не допускающей совместного с другими строками переноса.

Попробовал и работу форума только с этоми 17 строками - не работает!

К сожалению, диагностику наизусть не помню. При полном переносе базы (нг без строки phpbb_vote_voters) что-то типа

phpBB : Critical Error

Error creating new session

DEBUG MODE

SQL Error : 1054 Unknown column 'session_admin' in 'field list'

INSERT INTO phpbb_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin) VALUES ('65fcf8b240c9d17ffbb0b40407a447a4', 2, 1155280322, 1155280322, 'c243ba2a', 0, 1, 0)

Line : 187
File : sessions.php


Есть какие-то мысли о спасении?

   
 
 автор: glsv   (11.08.2006 в 13:11)
 
   для: Владимир55   (11.08.2006 в 12:56)
 

>А новая отличается наличием строки phpbb_sessions_keys

То, что вы называете строками - эта таблицы базы данных. Проблема, видимо в том, что структура таблиц (количество полей) старой и новой версии форума различаются. Т.е. таблицы называются одинаково, но по структуре не равны друг другу.

Посмотрите на сайте разработчиков форума как осуществляется импорт из одной версии в другую.

   
 
 автор: Владимир55   (11.08.2006 в 13:46)   письмо автору
 
   для: glsv   (11.08.2006 в 13:11)
 

Меня бы вполне устроил дистрибутив версии 2.0.10.

У Вас нет такого?

   
 
 автор: Trianon   (11.08.2006 в 13:58)   письмо автору
 
   для: Владимир55   (11.08.2006 в 13:46)
 

http://prdownloads.sourceforge.net/phpbb/
тащите любую.

   
 
 автор: RV   (11.08.2006 в 14:18)   письмо автору
 
   для: Trianon   (11.08.2006 в 13:58)
 

Владимир55
новые версии форумов выходят не для красивых цифер а из за проблем и уязвимостей в старых. крайне не рекомендую ставить старые версии.
phpbbguru.net потрудитесь зайти и почитать

   
 
 автор: Равечка   (11.08.2006 в 15:40)   письмо автору
 
   для: RV   (11.08.2006 в 14:18)
 

там есть скрипт тиа update.php который конвертирует старую базу в новую. добвляя колонки.

   
 
 автор: Trianon   (11.08.2006 в 15:53)   письмо автору
 
   для: RV   (11.08.2006 в 14:18)
 

Если человек установит у себя на локольной машине версию, соответствующую той, с которой был снят дамп БД, и проапгрейдит её до актуальной, а потом полученный дамп зальет на хостинг, ничего плохого не будет.

   
 
 автор: Владимир55   (11.08.2006 в 16:59)   письмо автору
 
   для: Trianon   (11.08.2006 в 15:53)
 

>Если человек установит у себя на локольной машине версию,
>соответствующую той, с которой был снят дамп БД, и
>проапгрейдит её до актуальной, а потом полученный дамп
>зальет на хостинг, ничего плохого не будет.

Собственно, я так и намерен сделать. Но не получается даже это!

Я располагаю файлом phpbb_db_backup, записанным с действующего форума версии 2.0.10. Форум находился на другом хостинге и более недоступен.

Теперь я на своем хостинге установил заново на чистом месте Форум версии 2.0.10. При этом я повторил имя базы данных, имя пользователя и пароль. И я надеялся закачать в базу файл phpbb_db_backup посредством этого форума в режиме "Восстановить БД". Проделал два варианта.

1. Просто включил восстановление базы данных. В результате получил сообщение:

Powered by phpBB 2.0.10 © 2001 phpBB Group

База не обновилась.

2. Перед восстановлением удалил из базы все таблицы. База тоже не обновилась. Получил такое сообщение:

phpBB : Critical Error

Could not query config information

DEBUG MODE

SQL Error : 1146 Table '1gb_s5.phpbb_config' doesn't exist

SELECT * FROM phpbb_config

Line : 206
File : /home/s5.ru/data/public_html/for1/common.php

Что бы это значило и что теперь делать?

   
 
 автор: RV   (11.08.2006 в 17:17)   письмо автору
 
   для: Владимир55   (11.08.2006 в 16:59)
 

пройтись на официальный форум поддержки и там воспользоваться поиском несудьба?

   
 
 автор: Trianon   (11.08.2006 в 17:26)   письмо автору
 
   для: Владимир55   (11.08.2006 в 16:59)
 

Вообще-то е предполагал, что версию Вы будете менять не на хостинге, пусть даже новом, а на локальной машине.
Я бы начал с того, что проверил, целый ли дамп. Потому что если дамп разрушен, то остальное уже не имеет смысла.
Если дамп кривой, но без серьезных потерь, то попытался бы его исправить.
Потом попытался бы залить дамп любыми средствами вплоть до клиента mysql.exe.
И удалил бы их.
Потом поставил бы старую версию phpbb. Снял её дамп (пустого форума), и удалил все таблицы. И заново залил дамп.
Потом убедился бы, что форум дышит, и попробовал его проапгрейдить до актуальной версии.
Потом бы снял дамп (возможно, тем же дампером) и попробовал бы (снеся форум и таблицы, и поставив форум заново) восстановить базу с него. И опять проверить форум
Потом, если всё проходит, попытался бы повторить последний шаг на хостинге.

   
 
 автор: cntbor   (11.08.2006 в 17:34)   письмо автору
 
   для: Trianon   (11.08.2006 в 17:26)
 

А у меня проблема! Все символы в liteforum 4.0. выглядят так "?" Помогите кто нибудь

   
 
 автор: Владимир55   (11.08.2006 в 17:40)   письмо автору
 
   для: Trianon   (11.08.2006 в 17:26)
 

Файл базы phpbb_db_backup в двух экземплярах, по размеру они идентичны. Дамп создан скриптом Форума и, по идее, должен им же и читаться, если скрипт той же самой версии. А он не читается - вот это первая проблема!

И дамп с PhpMyAdmin не идет фиг знает почему... Я с ним долго мучился, но потом понял, что через идентичный скипт проще восстановить и базу. А она не восстанавливается и пишет то, что я написал выше. Единственое существенное отличие - старая база третьей серии, а новая четвертой. Не в этом ли дело?

   
 
 автор: Trianon   (11.08.2006 в 17:46)   письмо автору
 
   для: Владимир55   (11.08.2006 в 17:40)
 

>Файл базы phpbb_db_backup в двух экземплярах, по размеру
>они идентичны.
Это ничего не значит. Например, если дважды дамп был создан одинаково неправильно.

>Дамп создан скриптом Форума и, по идее, должен им же и читаться,
>если скрипт той же самой версии.

Лишь по идее.
Например, скрипту просто не хватило стандартного 30-секундного ограничения времени выполнения, чтобы создать дамп. Он не будет восстанавливаться. И он совпадет с копией.

> А он не читается - вот это первая проблема!
Согласен. Смотрите содержание дампа. А не его размер.

   
 
 автор: Владимир55   (11.08.2006 в 18:24)   письмо автору
 
   для: Trianon   (11.08.2006 в 17:46)
 

В дампе присутствуют все таблицы.

А как ещё его можно проверить?

   
 
 автор: Trianon   (11.08.2006 в 18:54)   письмо автору
 
   для: Владимир55   (11.08.2006 в 18:24)
 

В первую очередь, что для каждой таблицы присутствуют все строки.
Прямо это делается путем сравнения числа строк INSERT-запроса с данными phpMyAdmin ( Да, уж извините, но дампы имеет смысл проверять при живой базе, а не когда сервер уже погасили)
Косвенным образом, если дамп сформирован в режиме extended inserts (все строки таблицы добавляются одним оператором INSERT ), это можно проверить по символу "точка с запятой" завершающему все строки. Если дамп обычный - тогда не знаю.

Во вторую, что в литеральных полях заэкранированы апострофы и прочие спецсимволы.

   
 
 автор: Владимир55   (12.08.2006 в 02:07)   письмо автору
 
   для: Trianon   (11.08.2006 в 18:54)
 

Расскажу, как я вышел из ситуации переноса информации из устаревшей версии, которой у меня уже нет, в новую - возможно, кому-то это пригодится.

1. Заносим имеющуюся информацию в созданную базу любым способом. При этом базе даем то же имя, что было у старой базы. Не обращаем внимание на то, что у нее меньшее количество таблиц, чем в новой версии форума.
2. Формируем каталог для скрипта с тем же названием, что было прежде.
3. Записываем файлы последней версии в созданный каталог, но не запускаем установку.
4. Запускаем в браузере файл install/update_to_latest.php. При этом формируются все таблицы базы под последнюю версию.
5. Удаляем на сервере папки contrib и install
6. Записываем парамеры базы в config
7. Работаем. Установки как таковой не требуется.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования