При попытке конвертации скрипта форума 1.1.1 в ответ на попытку постучаться на http://forum/upgrade/upgrade.php получаем в ответ сообщение об ошибке запроса
select * from cache_story where cs = 'forum_cache';
Но в моей, по крайней мере, поставке IPB 1.1.1 таблицы данной нет и в помине. Если создать ее вручную, получим пинок от скрипта апдейта, что уже установлена 2.0, что вполне логично. Насколько понял это я, данный запрос является проверкой и не должен ничего возвращать. Вот функция, которая этот запрос делает:
Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.
Вопрос
ShuRRiK
Проблема такая:
При попытке конвертации скрипта форума 1.1.1 в ответ на попытку постучаться на http://forum/upgrade/upgrade.php получаем в ответ сообщение об ошибке запроса
Но в моей, по крайней мере, поставке IPB 1.1.1 таблицы данной нет и в помине. Если создать ее вручную, получим пинок от скрипта апдейта, что уже установлена 2.0, что вполне логично. Насколько понял это я, данный запрос является проверкой и не должен ничего возвращать. Вот функция, которая этот запрос делает:
// Строка 1475, файл upgrade.php function _check_for_two() { global $DB, $std, $ibforums; $r = $DB->simple_exec_query( array( 'select' => '*', 'from' => 'cache_store', 'where' => 'cs_key="forum_cache"' ) ); if ( $r['cs_value'] ) { return 1; } else { return 0; } }Но функция simple_exec_query() возвращает далеко не 0 или 1, а берет и выводит сообщение об ошибке - мол таблицы такой нет. И все. Апдейту стоп!
Проверить на других поставках скрипта у меня не получилось из-за их отсутствия. Если кто-то столкнулся с такой траблой, то вот как это вылечил я:
всю функцию надо заменить на следующий код, который, без сомнения, кривой, но траблу вроде как обходит:
function _check_for_two() { global $DB, $std, $ibforums, $INFO; if(!$r = @mysql_query('select * from '.$INFO['sql_tbl_prefix'].'cache_store where cs_key = "forum_cache"')) return 0; else return 1; }P.S> грамотные люди, скажите, это только у меня такой КОСЯК?
Ссылка на комментарий
Поделиться на других сайтах
0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.