PDA

Zobrazit plnou verzi: Vyřešeno Zachytil další 4.2.5 VB s VBET chyba



ctrenks
04-06-18, 20:49
Bylo to další varování, tak jsem vytvořil hlášení chyb napsat šablonu protokolu a zachytil tento...



[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), očekával identifikátor (T_STRING) nebo variabilní (T_VARIABLE) nebo číslo (T_NUM_STRING) /home/allfreec/public_html/phpBB2/includes/class_core.php(4695) : eval()'d code on line 1



To, co jsem udělal bylo napsání šablony do protokolu předtím, než se to nepodařilo, trvalo mi 3 dny, ale to je šablona zatížení, které je házet chyby.

vBET
07-06-18, 01:16
Budeme zkoumat to a zašleme vám odpověď brzy.

vBET
15-06-18, 19:56
Musíme mít různé verze phpbb, protože v místě popsal error máme } a tam by měl být nějaký plugin provedení.
Prosím, dejte nám obsah řádku 4695 v souboru /home/allfreec/public_html/phpBB2/includes/class_core.php tak budeme moci zjistit, který plugin je vinen a hledat chyby.

ctrenks
17-06-18, 02:11
Začíná na 4660, můžete vidět můj kód chytit chyby do souboru protokolu odhodit skutečné



/**
* 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
Díky. A toto komentoval kód je kód, který se vrátil 1. řádek error log?

ctrenks
18-06-18, 18:16
Ano, to by se přihlásit jakékoli šablony popraven, že se neshoduje s dvěma víš ty, že to bylo protokolování. Pak by to napsat ytemple do protokolu pak následuje chybová zpráva

ctrenks
18-06-18, 18:55
Nejsem si jistý, jestli to dávalo smysl, tak jsem se přihlásil každou šablonu zatížení, pak se odstraní je, pokud ne způsobit, že chyba s str vyměňte zkontrolujte.

ctrenks
19-06-18, 16:33
Díky. A toto komentoval kód je kód, který se vrátil 1. řádek error log?

error_log($template_code, 0); <- tento řádek píše současných $template_code do souboru protokolu

Jako chyba je fatální, musel jsem napsat každá šablona kód zpracován, pak uvidíte, co to bylo předtím, než fatální chyba je zaznamenána.

vBET
21-06-18, 17:06

$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'";
Není tam žádná taková kódu v vBET... to jste provedli nějaké změny v kódu? Jakou verzi máte (možná starší)?

ctrenks
22-06-18, 14:50
Musí být další šablonu, která je pomocí VBET jméno tam jako nejsou provedeny žádné změny, aby VBET 492.

vBET
22-06-18, 16:05
Tak možná tento kód je generován přidáním několika částí (ve smyčce nebo nějaký jiný výraz). Budu to znovu zkontrolovat, dívá se jen na část a dáme vám vědět.

vBET
23-06-18, 19:03
OK, našel jsem to. Nemohl jsem ji najít dříve, protože v kódu máme escape znaky před '. Kód je v souboru vbenterprisetranslator_functions_hooks.php

$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ";"
.$erotika->templatecache['forumhome_lastpostby'];
Nemohu reprodukovat problém, takže nejsem schopen zkontrolovat řešení. Popište, prosím, jak se rozmnožují, nebo se snaží nahradit kód níže. Toto řešení bylo zaškrtnuto není.

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

To může být to - kód chyby vypráví o nečekané a protože vBulletin staví náš kód v " (eval('$final_rendered = "' . $template_code . '";');) to by mohlo vést k chybě. Prosím, řekněte nám, jak se rozmnožovat, nebo zkontrolujte možné řešení a pošlete nám své postavení.

ctrenks
25-06-18, 14:31
Nemohu vynutit chybu, byl jsem pouze schopen zachytit to.. To se stává, alespoň několikrát během pár dní, takže budu aktualizovat kód a dívat se!

vBET
26-06-18, 10:05
Velký - budeme čekat na vaše info.

ctrenks
27-06-18, 21:38
Zatím žádné chyby, Vypadá to dobře

vBET
30-06-18, 09:15
Skvělé. Jsem se označit tento bug jako vyřešit a zahrnují řešení v příští verzi. Pokud se problémy objeví znovu, dejte nám prosím vědět.

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