PDA

Visa fullständig version: Löste Fångade en annan 4.2.5 VB med VBET fel



ctrenks
04-06-18, 20:49
Var att få en varning så jag skapade en felrapportering att skriva mallen för att logga in och fångade denna...



[04-Jun-2018 18:52:57 UTC] $lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
[04-Jun-2018 18:52:57 UTC] PHP Parse error: syntax error, unexpected " (T_ENCAPSED_AND_WHITESPACE), förväntar sig identifierare (T_STRING) eller rörlig (T_VARIABLE) eller nummer (T_NUM_STRING) /home/allfreec/public_html/phpBB2/includes/class_core.php(4695) : eval()'d code on line 1



Vad jag gjorde var att skriva mallen till loggen innan det inte gick, tog mig 3 dagar, men detta är mallen lastning som kastar fel.

vBET
07-06-18, 01:16
Vi kommer att undersöka det och skicka dig ett svar snart.

vBET
15-06-18, 19:56
Vi måste ha olika versioner av vBulletin eftersom i stället beskrivs av fellogg vi har } och att det borde finnas något plugin utförande.
Vänligen ge oss innehållet i linje 4695 i din fil /home/allfreec/public_html/phpBB2/includes/class_core.php så vi kommer att kunna hitta vilket plugin är skyldig och leta efter fel.

ctrenks
17-06-18, 02:11
Början på 4660, kan du se min kod för att fånga felet till loggfilen kasta bort den faktiska



/**
* 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 . '";');
}

vBET
18-06-18, 18:01
Tack. Och detta kommenteras koden är din kod, som återvänt 1: a raden i loggen?

ctrenks
18-06-18, 18:16
Ja, det skulle logga in någon mall utförs, som inte stämmer med de två vet de att det var skogsavverkning. Då skulle det skriver ytemple att logga sedan följas av felmeddelandet

ctrenks
18-06-18, 18:55
Inte säker på om det är meningsfullt, jag loggade in varenda mall ladda det, sedan bort dem om de inte orsakar felet med str replace in.

ctrenks
19-06-18, 16:33
Tack. Och detta kommenteras koden är din kod, som återvänt 1: a raden i loggen?

error_log($template_code, 0); <- den här raden skriver nuvarande $template_code till loggfilen

Så felet är dödlig, jag var tvungen att skriva varje mall kod som behandlas, för att sedan se vad det var innan den ödesdigra fel registreras.

vBET
21-06-18, 17:06

$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
Det finns ingen sådan kod i vBET... har du gjort några ändringar i kod? Vilken version har du (kanske lite äldre)?

ctrenks
22-06-18, 14:50
Måste vara en annan mall som använder VBET namn i där inga förändringar är gjorda för att VBET 492.

vBET
22-06-18, 16:05
Så kanske denna kod genereras genom att lägga till flera delar (i loop eller något annat uttryck). Jag kommer in igen, ser bara en del av den och låta dig veta.

vBET
23-06-18, 19:03
OK, jag hittade det. Jag kunde inte hitta det tidigare, eftersom det i koden har vi escape-tecken innan". Den kod som finns i filen vbenterprisetranslator_functions_hooks.php

$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ';'
.$vbulletin->templatecache['forumhome_lastpostby'];
Jag kan inte återskapa problemet så jag kan inte kolla lösning. Beskriv hur reproducera eller prova att ersätta koden med den nedan. Denna lösning var inte kontrolleras.

$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[lastposter] = \'\' . $lastpostinfo[lastposter] .\'\\ ';'
.$vbulletin->templatecache['forumhome_lastpostby'];

Detta kan vara det - fel kod berättar om oväntade " och sedan vBulletin sätter vår kod i " (eval('$final_rendered = "' . $template_code . '";');) detta kan leda till fel. Berätta för oss, hur reproducera, eller kontrollera möjliga lösning och skicka oss din status.

ctrenks
25-06-18, 14:31
Jag kan inte tvinga fel, jag var bara kan fånga det.. Det händer minst ett par gånger i ett par dagar så jag kommer att uppdatera koden, och titta!

vBET
26-06-18, 10:05
Bra - vi kommer att vänta för din info.

ctrenks
27-06-18, 21:38
Så långt inga fel, Ser bra ut

vBET
30-06-18, 09:15
Bra. Jag kommer att markera denna bugg som löst och inkluderar lösning i nästa release. Om problem uppstår igen, kontaktar du oss.

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Integration with translations by vB Enterprise Translator 4.10.1