Перейти к публикации

Рекомендованные сообщения

Здравствуйте. Обновлял движок на новую версию и не получилось. главная страница сайта отлично работает, а вот в полной новости вот такая петрушка:

http://pixs.ru/showimage/1jpg_2431511_23320889.jpg

Кто сталкивался? куда копать? Хостинг дал пару советов, не помогло. откатил всё назад.

Ссылка на сообщение
Поделиться на других сайтах

Ошибка говорит об отсутствии нужных индексов в базе данных. Причина вашей проблемы не непосредственно в самом обновлении. А в том что у вас изначально неоригинальная структура базы данных, т.к. эти индексы в базе данных существовали всегда в любой версии скрипта DLE. Вероятно правили БД вручную и файлы скрипта, или изначально ставили сайт на неоригинальном, а измененном DLE. Поэтому для начала вам нужно привести стуктуру базы данных к оригинальному виду, и только потом обновляться.

Ссылка на сообщение
Поделиться на других сайтах

celsoft, спасибо за ответ. Да, действительно, в феврале месяце у меня в админке поменялись файлы. Сразу же написал своему хостеру, и получил следующий ответ:

 

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

1. Выполняем запрос в PHPmyadmin
ALTER 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). И этот вариант годится для сайтов с большой бд и высокой посещаемостью.

 

Получается, мне надо написать хостеру, чтобы они вернули базу данных в тот вид, пока они её не изменили, так?

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, qwerty2009 сказал:

Получается, мне надо написать хостеру, чтобы они вернули базу данных в тот вид, пока они её не изменили, так?

Да

Ссылка на сообщение
Поделиться на других сайтах
В 17.09.2016 в 14:18, qwerty2009 сказал:

... Да, действительно, в феврале месяце у меня в админке поменялись файлы. Сразу же написал своему хостеру, и получил следующий ответ:

Это пиздец, вали от такого хостера, который без разрешения лезет в чужие файлы и бд. ИМХО.

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, Captain сказал:

Это пиздец, вали от такого хостера, который без разрешения лезет в чужие файлы и бд. ИМХО.

Обсолютно с вами согласен +

ТС напиши ссылку сайта хостера, пусть народ знает. 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

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

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...