Проблема решаема. Берете решение отсюда и пользуетесь.
Подтверждаю, оно работает. И безопасно настолько же, насколько безопасна функция md5, не нравится она — меняйте на sha-1.
Увы, имел несчастье купить это. При попытке подогнать под себя… лучше бы я не смотрел в код. Качество исходников ужасное. Такое впечатление, что стоит хоть что-то тронуть — и развалится всё. Грустно.
Кеширование — не панацея от всех бед. Если взять небольшой пример работы с высокой плотностью запросов постоянно изменяющихся данных (чтобы далеко не ходить — плагин TalkBell), то становится ясно, что MySQL тут катастрофически отстает.
Полностью поддерживаю топикстартера.
Разве что от себя добавлю, что не обязательно «распыляться» на пару решений. А вот отход от традиционного MySQL и миграция в MongoDB была бы очень кстати.
И силы всех лицопальм венерианских садов не хватит…
Открываем гугл. Переводим.
Дословно означает, что для пользователя root к хосту localhost запрещён доступ без пароля! Естественно, это побуждает полезть в конфиг и исправить-таки ересь.
Согласитесь: дамп ошибки дает намного больше информации, чем красивый сплеш-скрин. А то выйдет, как в цитате:
Макось не виснет? Ага, щас. Объясню почему. В Objective-C обращение к пустому объекту ошибкой не является. Вы пришли в магазин колбасы купить, а её нет — пустой объект. Нормуль — берём это ничто, идём домой и старательно щёлкаем зубами — типа, едим. Никакой ошибки нет — нормальная ситуация. Надеюсь, доступно изложил. Три сборщика мусора подрались и случайно (по программерской ошибке) затёрли какой-нить объект. Пользователь нажимает кнопки — реакция не та или вообще никакой. Потыкается — да и перезапустит программу. Зато падения нет.
Так и тут. Назвались грибом — полезайте в лукошко, и никакие апелляции к user-friendly не заменят нормального лога.
На уязвимость эту существует патч — во-первых. Во-вторых, как заметил PSNet , поиск Sphinx тоже раскрывает часть информации. Выход прост — поправить конфиг выборки Sphinx.
# Source for topics
source topicsSource : lsParentSource
{
sql_query = \
SELECT t_fast.topic_id, t_fast.topic_title, UNIX_TIMESTAMP(t_fast.topic_date_add) as topic_date_add, \
tc.topic_text, t_fast.topic_publish \
FROM ls_topic as t_fast, ls_topic_content AS tc \
WHERE t_fast.topic_id=tc.topic_id \
AND t_fast.blog_id \
IN ( \
SELECT blog_id FROM ls_blog \
WHERE blog_type = 'open' \
) \
AND t_fast.topic_id>=$start \
AND t_fast.topic_id<=$end
sql_query_range = SELECT MIN(topic_id),MAX(topic_id) FROM ls_topic
sql_range_step = 10000
sql_attr_bool = topic_publish
sql_attr_timestamp = topic_date_add
sql_attr_multi = uint tag from query; SELECT topic_id, topic_tag_id FROM ls_topic_tag
sql_ranged_throttle = 0
}
# Source for comments
source commentsSource : lsParentSource
{
sql_query = \
SELECT comment_id, comment_text, UNIX_TIMESTAMP( comment_date ) AS comment_date, comment_delete \
FROM ls_comment \
WHERE target_type = 'topic' \
AND target_parent_id \
IN ( \
SELECT blog_id \
FROM ls_blog \
WHERE blog_type = 'open' \
) \
AND comment_id>=$start \
AND comment_id<=$end
sql_query_range = SELECT MIN(comment_id),MAX(comment_id) FROM ls_comment
sql_range_step = 10000
sql_attr_bool = comment_delete
sql_attr_timestamp = comment_date
}
Решал. Ошибка как бы недвусмысленно намекает: «хозяина, щяблона нету, шаайтанма!»
Выход таков: от старой LS должно остаться 2 вещи: uploads и БД.
БД нужно обновить, желательно вручную.
Дальше залить чистый скрипт.
Дальше накатить uploads.
Если БД вручнцю поправлена, установщик запускать НЕ нужно.
И только после этого, когда на минимальной «условно-нулевой» установке всё взлетит (а оно взлетит, будьте уверены), нужно приниматься за шаблоны, и уже потом — за плагины.
Подтверждаю, оно работает. И безопасно настолько же, насколько безопасна функция md5, не нравится она — меняйте на sha-1.
Разве что от себя добавлю, что не обязательно «распыляться» на пару решений. А вот отход от традиционного MySQL и миграция в MongoDB была бы очень кстати.
А куда уже более дружественнее?
Открываем гугл. Переводим.
Дословно означает, что для пользователя root к хосту localhost запрещён доступ без пароля! Естественно, это побуждает полезть в конфиг и исправить-таки ересь.
Согласитесь: дамп ошибки дает намного больше информации, чем красивый сплеш-скрин. А то выйдет, как в цитате:
Так и тут. Назвались грибом — полезайте в лукошко, и никакие апелляции к user-friendly не заменят нормального лога.
Выход таков: от старой LS должно остаться 2 вещи: uploads и БД.
БД нужно обновить, желательно вручную.
Дальше залить чистый скрипт.
Дальше накатить uploads.
Если БД вручнцю поправлена, установщик запускать НЕ нужно.
И только после этого, когда на минимальной «условно-нулевой» установке всё взлетит (а оно взлетит, будьте уверены), нужно приниматься за шаблоны, и уже потом — за плагины.