Прагляд поўнай версіі: Вырашанае Захапілі яшчэ 4.2.5 VB з vbet памылку
Атрымліваю яшчэ адно папярэджанне, таму я стварыў справаздачу пра памылку, каб напісаць шаблон ў часопіс і зняў гэта...
[04-Jun-2018 18:52:57 UTC] $lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
[04-чэрвень-2018 18:52:57 па UTC] PHP для разбору памылкі: сынтаксычная памылка, нечаканы " (T_ENCAPSED_AND_WHITESPACE), чакаючы ідэнтыфікатар (T_STRING) або зменнай (T_VARIABLE) або колькасць (T_NUM_STRING) у /home/allfreec/public_html/phpBB2/includes/class_core.php(4695) : функцыі eval()'D код на радку 1
Тое, што я рабіў, было напісаць шаблон ў часопіс да яго выхаду з ладу, узяў мяне 3 дні, але гэта загрузка шаблону, які кідае памылку.
Мы будзем расследаваць яго і адправіць вам адказ.
Мы павінны мець розныя версіі форуму, таму што ў месца, апісанае ў часопісе памылак мы } і павінна быць выкананне плагіна.
Калі ласка, дайце нам кантэнт 4695 радкі ў ваш файл /home/allfreec/public_html/phpBB2/includes/class_core.php так мы зможам знайсці, які убудова вінаваты і шукаць памылкі.
Пачынаючы з 4660, вы можаце ўбачыць мой код, каб злавіць памылкі ў файл часопіса скінуўшы фактычны
/**
* Renders the output after preperation.
* @see vB_Template::render()
*
* @param boolean Whether to suppress the HTML comment surrounding option (for JS, etc)
* @return string
*/
protected function render_output($suppress_html_comments = false)
{
//This global statement is here to expose $vbulletin to the templates.
//It must remain in the same function as the template eval
global $vbulletin;
extract($this->registered, EXTR_SKIP | EXTR_REFS);
$actioned = false;
($hook = vBulletinHook::fetch_hook('template_render_output')) ? eval($hook) : false;
if (!$actioned)
{
$template_code = self::fetch_template($this->template);
}
if (strpos($template_code, '$final_rendered') !== false)
{
eval($template_code);
}
else
{
/*
$tcount = 0;
$tst = str_replace("vB_Template_Runtime::fetchStylevar('outertablewidth')","",$template_code,$tcount);
$tst = str_replace("old_explorer","",$template_code,$mcount);
if ($mcount==0&&$tcount==0){
error_log($template_code, 0);
}
*/
eval('$final_rendered = "' . $template_code . '";');
}
Дзякуй. І гэты закаментаваныя код-гэта код, які вярнуў 1-й лініі часопіс памылак?
Так, гэта было ў часопісе ўсё выконваецца шаблон, які не адпавядаў ведаеце, што гэта было лесанарыхтоўкі. Потым ён будзе пісаць ytemple ў часопіс, затым рушыць услед паведамленне пра памылку
Не ўпэўнены, калі гэта мае сэнс, я запісваў кожны загрузіць шаблон ёсць, а затым выдаліць іх, калі яны не выклікаюць памылку з вул замяніць праверыць.
Дзякуй. І гэты закаментаваныя код-гэта код, які вярнуў 1-й лініі часопіс памылак?
функцыю error_log($template_code, 0); &ЛТ;- гэты радок піша цяперашніх $template_code ў лог-файл
Як памылка з'яўляецца фатальнай, мне прыйшлося пісаць кожны апрацаваны код шаблону, а затым убачыць, якім ён быў да фатальнага запісваецца паведамленне пра памылку.
$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
Няма такога кода ў vbet... вы ўнеслі якія-небудзь змены ў код? Якая версія ў цябе (можа трохі старэй)?
Павінен быць іншы шаблон, які выкарыстоўвае імя ў vbet там пакуль не былі ўнесены змяненні з vbet 492.
Так што, магчыма, гэты код ствараецца шляхам дадання некалькіх частак (у пятлі ці некаторыя іншыя выразы). Я буду правяраць зноў, гледзячы толькі на частку яго, і хай вы ведаеце.
ОК, я знайшоў яго. Я не мог знайсці яго раней, таму што ў кодзе ў нас ёсць сімвалы да '. Код у файл vbenterprisetranslator_functions_hooks.php
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ";"
.$харол-&ГТ;templatecache['forumhome_lastpostby'];
Я не магу прайграць праблему, таму я не змагла праверыць рашэнне. Калі ласка, апішыце, як прайграць або паспрабаваць замяніць код на адну ніжэй. Гэта рашэнне не было праверана.
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[lastposter] = \'\' . $lastpostinfo[lastposter] .\'\\ ";"
.$харол-&ГТ;templatecache['forumhome_lastpostby'];
Гэта можа быць гэта - код памылкі кажа аб нечаканых і з форуму ставіць наш код у " (eval('$final_rendered = "' . $template_code . '";');) гэта можа прывесці да памылкі. Раскажыце, калі ласка, як прайграць або праверыць магчымыя рашэнні і адпраўце нам Ваш статус.
Я не магу прымусіць памылку, я быў толькі ў стане захапіць яго.. гэта адбываецца як мінімум некалькі раз у пару дзён, так што я буду абнаўляць код і глядзець!
Выдатна - будзем чакаць вашай інфармацыі.
Пакуль няма памылак, добра глядзіцца
Выдатна. Я буду адзначаць гэтую памылку, як вырашыць і ўключыць рашэнне ў наступным рэлізе. Калі праблемы зноў з'явяцца, калі ласка, дайце нам ведаць.
Automatic Translations (Powered by Google, Microsoft®,
Yandex, SDL Language Cloud, IBM Watson and Apertium):
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.