PDA

View Full Version: Løst Tatt en annen 4.2.5 VB med VBET feil



ctrenks
04-06-18, 20:49
Var å få en annen advarsel så jeg laget en feilrapportering til å skrive en mal for logg og tatt dette...



[04-Jun-2018 18:52:57 UTC] $lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
[04-Jun-2018 18:52:57 UTC] PHP Parse error: syntaks feil, uventede " (T_ENCAPSED_AND_WHITESPACE), forventer identifikator (T_STRING) eller variabel (T_VARIABLE) eller tall (T_NUM_STRING) i /home/allfreec/public_html/phpBB2/includes/class_core.php(4695) : eval()'d code on line 1



Hva jeg gjorde var å skrive malen til loggen før det sviktet, tok meg 3 dager, men dette er malen lasting som er kastet feil.

vBET
07-06-18, 01:16
Vi vil undersøke det og sende deg et svar snart.

vBET
15-06-18, 19:56
Vi må ha forskjellige versjoner av vBulletin fordi i stedet beskrevet av feil logg har vi } og det bør være noen plugin gjennomføring.
Vennligst gi oss innholdet på linje 4695 i filen /home/allfreec/public_html/phpBB2/includes/class_core.php så vi vil være i stand til å finne hvilke plugin-modulen er skyldig, og se etter feil.

ctrenks
17-06-18, 02:11
Starter på 4660, kan du se meg kode for å fange opp feil i loggfilen kaste av den faktiske



/**
* 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
Takk. Og dette kommentert koden er koden din, som kom tilbake 1. linje av feil logg?

ctrenks
18-06-18, 18:16
Ja, det ville logge noen mal henrettet, som ikke samsvarer med de to vet de at det var logging. Da ville det skriver ytemple til loggen for deretter å bli etterfulgt av feilmelding

ctrenks
18-06-18, 18:55
Ikke sikker på om det var fornuftig, jeg logget hver enkelt mal legg det deretter fjernet dem hvis de ikke forårsake feil med str erstatte sjekk.

ctrenks
19-06-18, 16:33
Takk. Og dette kommentert koden er koden din, som kom tilbake 1. linje av feil logg?

error_log($template_code, 0); <- denne linjen skriver gjeldende $template_code til loggfilen

Så feilen er dødelig, jeg hadde til å skrive hver mal-kode behandlet, og deretter se hva det var før den fatale feilen er registrert.

vBET
21-06-18, 17:06

$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
Det er ikke slik kode i vBET... Har du gjort noen endringer i koden? Hvilken versjon har du (kanskje noen eldre)?

ctrenks
22-06-18, 14:50
Må være en annen mal som bruker VBET navn i det som det ikke er foretatt endringer for å VBET 492.

vBET
22-06-18, 16:05
Så kanskje denne koden er generert ved å legge til flere deler (i loop eller noen andre uttrykk). Jeg vil se igjen, ser bare for en del av det og så du vet det.

vBET
23-06-18, 19:03
OK, jeg fant det. Jeg kunne ikke finne det tidligere, fordi i koden vi har escape-tegn før". Koden i filen vbenterprisetranslator_functions_hooks.php

$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ';'
.$vbulletin->templatecache['forumhome_lastpostby'];
Jeg kan ikke gjenskape problemet, så jeg er ikke i stand til å sjekke løsning. Kan du beskrive hvordan å reprodusere eller prøve å erstatte den koden med den nedenfor. Denne løsningen ble ikke kontrollert.

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

Dette kan være det - feilkode forteller om uventede " og siden vBulletin setter vår koden i " (eval('$final_rendered = "' . $template_code . '";');) dette kan føre til feil. Kan du fortelle oss, hvordan å reprodusere, eller sjekk mulig løsning, og sende oss din status.

ctrenks
25-06-18, 14:31
Jeg kan ikke tvinge feil, jeg var bare i stand til å fange opp det.. Det skjer minst et par ganger i løpet av et par dager, så jeg vil oppdatere koden og se!

vBET
26-06-18, 10:05
Stor - vi vil vente for info.

ctrenks
27-06-18, 21:38
Så langt ingen feil, Ser bra ut

vBET
30-06-18, 09:15
Flott. Jeg vil merke dette feil som er løst og inkluderer løsning i neste versjon. Hvis problemer dukker opp igjen, vennligst gi oss beskjed.

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Languages translations delivered by vBET 4.10.1