+0.52
Рейтинг
1.42
Сила

Ошибка при обновлении на 1.0

1. Обновился только что на 1.0 и получил вот такую ошибку:

Fatal error: Uncaught exception 'SmartyException' with message 'property 'rendered_template' does not exist.' in /home2/kinorota/public_html/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatebase.php:798 Stack trace: #0 /home2/kinorota/public_html/templates/compiled/synio/03f69ee827f39b13ac7f550eb42f6bb5ed58909d.file.header.tpl.php(162): Smarty_Internal_TemplateBase->__call('getRenderedTemp...', Array) #1 /home2/kinorota/public_html/templates/compiled/synio/03f69ee827f39b13ac7f550eb42f6bb5ed58909d.file.header.tpl.php(162): Smarty_Internal_Template->getRenderedTemplate() #2 /home2/kinorota/public_html/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatebase.php(161): include('/home2/kinorota...') #3 /home2/kinorota/public_html/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_template.php(288): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true) #4 /home2/kinorota/public_html/templates/compiled/synio/70e1e5ba28cf78f9cf7722ab1585385741dbafdd.file.index.tpl in /home2/kinorota/public_html/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatebase.php on line 798


Плагины все отключены, кэш очищен двацать раз. Как это поправить?

ПЕРВАЯ ПРОБЛЕМА РЕШЕНА!

2. После решения первой проблемы вылезла вторая:

SQL Error: Table 'kinorota_site.subscribe' doesn't exist at /home2/kinorota/public_html/classes/modules/subscribe/mapper/Subscribe.mapper.class.php line 122
Array ( [code] => 1146 [message] => Table 'kinorota_site.subscribe' doesn't exist [query] => SELECT SQL_CALC_FOUND_ROWS * FROM subscribe WHERE 1 = 1 AND target_type = 'topic_new_comment' AND target_id = 9995 AND mail = 'provitiligo@gmail.com' ORDER by id desc LIMIT 0, 1 ; [context] => /home2/kinorota/public_html/classes/modules/subscribe/mapper/Subscribe.mapper.class.php line 122 )


Суть ее я на этот раз понимаю, но не в курсе как поправить. Буду большое спасибо за помощь.

Отключить AJAX у комментариев

Можно ли сделать так, чтобы комментарии добавлялись обычно, с перегрузкой страницы? Проще говоря, нужно отключить AJAX у комментариев, потому что он жутко медленно работает у меня почему-то — по 30-60 секунд комментарии добавляются и удаляются. На том же хостинге жумла аякс вертит только в путь.

Небольшой баг в loader.php

Переехал на другой хостинг и начал появляться один и тот же глюк. Через несколько часов после установки стала вылезать вот такая ошибка:

Notice: Undefined index: extension in /home2/kinorota/public_html/config/loader.php on line 72

За ней отображается памятная многим ошибка сессии, которая на сей раз никак не связана с неправильной кодировкой config.php:


Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /home2/kinorota/public_html/engine/modules/session/Session.class.php on line 73
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home2/kinorota/public_html/config/loader.php:71) in /home2/kinorota/public_html/engine/modules/session/Session.class.php on line 76

Попробовал с помощью var_dump отследить это дело, и вот что получилось:

array(4) { ["dirname"]=> string(42) "/home2/kinorota/public_html/engine/include" ["basename"]=> string(12) "function.php" ["extension"]=> string(3) "php" ["filename"]=> string(8) "function" }
array(3) { ["dirname"]=> string(42) "/home2/kinorota/public_html/engine/include" ["basename"]=> string(9) "error_log" ["filename"]=> string(9) "error_log" }
array(4) { ["dirname"]=> string(42) "/home2/kinorota/public_html/engine/include" ["basename"]=> string(8) "json.php" ["extension"]=> string(3) "php" ["filename"]=> string(4) "json" }

Как я понял, на некоторых хостингах файл ошибок генерится автоматически и может в любом каталоге вылезти. В моем случае это файл error_log, у которого нет расширения, что приводит к тому, что в массиве отсутствует ключ extension. Решение этому простое: в файле loader.php строку

if (strtolower($aPathInfo['extension'])=='php') {

нужно поменять на

if (array_key_exists('extension', $aPathInfo) && (strtolower($aPathInfo['extension'])=='php')) {

После этого ошибка исчезает навсегда. На мой взгляд, необходимо данную поправку внести в код.

Ошибка Warning: session_regenerate_id() - НЕ кодировка!

Поставил с нуля сайт и через некоторое время, буквально через час, словил ту же ошибку, что и многие. Вверху страницы выдает вот такое:

Notice: Undefined index: extension in /home2/kinorota/public_html/config/loader.php on line 71

Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /home2/kinorota/public_html/engine/modules/session/Session.class.php on line 73

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home2/kinorota/public_html/config/loader.php:71) in /home2/kinorota/public_html/engine/modules/session/Session.class.php on line 76


Про кодировку прочитал, двадцать раз все проверил — никаких ВОМ, пробелов и пр. нету. Сохраняю в EmEditor, используя UTF-8 without Signature.

В чем еще может быть проблема, и как ее отловить?