qwerty2009 0 Опубликовано: 17 сентября 2016 Рассказать Опубликовано: 17 сентября 2016 Здравствуйте. Обновлял движок на новую версию и не получилось. главная страница сайта отлично работает, а вот в полной новости вот такая петрушка: http://pixs.ru/showimage/1jpg_2431511_23320889.jpg Кто сталкивался? куда копать? Хостинг дал пару советов, не помогло. откатил всё назад. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 17 сентября 2016 Рассказать Опубликовано: 17 сентября 2016 Ошибка говорит об отсутствии нужных индексов в базе данных. Причина вашей проблемы не непосредственно в самом обновлении. А в том что у вас изначально неоригинальная структура базы данных, т.к. эти индексы в базе данных существовали всегда в любой версии скрипта DLE. Вероятно правили БД вручную и файлы скрипта, или изначально ставили сайт на неоригинальном, а измененном DLE. Поэтому для начала вам нужно привести стуктуру базы данных к оригинальному виду, и только потом обновляться. Цитата Ссылка на сообщение Поделиться на других сайтах
qwerty2009 0 Опубликовано: 17 сентября 2016 Рассказать Опубликовано: 17 сентября 2016 Автор celsoft, спасибо за ответ. Да, действительно, в феврале месяце у меня в админке поменялись файлы. Сразу же написал своему хостеру, и получил следующий ответ: Просим прощения что не уведомили, это наших рук дел, но это для лучшей работы сайта., хорошо бы вероятно сделать на всех сайтах.это классный не оф. фикс для ДЛЕ, для активных сайтов и больших баз данных., он реально работает и хорошо снижает нагрузку на БД.1. Выполняем запрос в PHPmyadminALTER TABLE `dle_post` DROP INDEX `short_story` ,ADD FULLTEXT `short_story` (`title`)2. В файле engine/modules/show.full.phpнайтиif( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];else $body = $row['full_story'];$body = $db->safesql( strip_tags( stripslashes( $metatags['title'] . " " . $body ) ) );$config['related_number'] = intval( $config['related_number'] );if( $config['related_number'] < 1 ) $config['related_number'] = 5;$db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );заменить на$body = $db->safesql( strip_tags( stripslashes( $metatags['title'] ) ) );$config['related_number'] = intval( $config['related_number'] );if( $config['related_number'] < 1 ) $config['related_number'] = 5;$db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );3. В файле /engine/ajax/find_relates.php найти$db->query( "SELECT id, title, date, category, alt_name, flag, MATCH (title, short_story, full_story, xfields) AGAINST ('$title') as score FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$title') AND approve='1'" . $where . " ORDER BY score DESC, date DESC LIMIT 5" );и заменить на$db->query( "SELECT id, title, date, category, alt_name, flag, MATCH (title) AGAINST ('$title') as score FROM " . PREFIX . "_post WHERE MATCH (title) AGAINST ('$title') AND approve='1'" . $where . " ORDER BY score DESC, date DESC LIMIT 5" );поиск похожих новостей проводится только по одному полю (title). И этот вариант годится для сайтов с большой бд и высокой посещаемостью. Получается, мне надо написать хостеру, чтобы они вернули базу данных в тот вид, пока они её не изменили, так? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 17 сентября 2016 Рассказать Опубликовано: 17 сентября 2016 7 минут назад, qwerty2009 сказал: Получается, мне надо написать хостеру, чтобы они вернули базу данных в тот вид, пока они её не изменили, так? Да Цитата Ссылка на сообщение Поделиться на других сайтах
qwerty2009 0 Опубликовано: 17 сентября 2016 Рассказать Опубликовано: 17 сентября 2016 Автор 14 минуты назад, celsoft сказал: Да Понял, напишу в хостинг. спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
draxxx 2 Опубликовано: 19 сентября 2016 Рассказать Опубликовано: 19 сентября 2016 В 17.09.2016 в 14:22, celsoft сказал: Да Как вам такй фикс? Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 19 сентября 2016 Рассказать Опубликовано: 19 сентября 2016 (изменено) В 17.09.2016 в 14:18, qwerty2009 сказал: ... Да, действительно, в феврале месяце у меня в админке поменялись файлы. Сразу же написал своему хостеру, и получил следующий ответ: Это пиздец, вали от такого хостера, который без разрешения лезет в чужие файлы и бд. ИМХО. Изменено 19 сентября 2016 пользователем Captain 3 Цитата Ссылка на сообщение Поделиться на других сайтах
Diman777 14 Опубликовано: 20 сентября 2016 Рассказать Опубликовано: 20 сентября 2016 16 часов назад, Captain сказал: Это пиздец, вали от такого хостера, который без разрешения лезет в чужие файлы и бд. ИМХО. Обсолютно с вами согласен + ТС напиши ссылку сайта хостера, пусть народ знает. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.