PDA

Ver Versão Completa: Resolvido Capturado outro 4.2.5 VB com VBET erro



ctrenks
04-06-18, 20:49
Estava ficando outro aviso para que eu criamos um relatório de erro para escrever o modelo para o registo e capturou esta...



[04-Jun-2018 18:52:57 UTC] $lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
[04-Jun-2018 18:52:57 UTC] PHP Parse error: syntax error, inesperado " (T_ENCAPSED_AND_WHITESPACE), esperando identificador (T_STRING) ou variável (T_VARIABLE) ou número (T_NUM_STRING) /home/allfreec/public_html/phpBB2/includes/class_core.php(4695) : eval()'d code na linha 1



O que eu fiz foi escrever o modelo para o log antes que ele falhou, me levou de 3 dias, mas este é o modelo de carga que está jogando o erro.

vBET
07-06-18, 01:16
Vamos investigá-lo e enviar-lhe uma resposta em breve.

vBET
15-06-18, 19:56
Devemos ter diferentes versões do vBulletin, porque no lugar descrito por erro de log de nós têm } e deve haver algum plugin de execução.
Por favor, dê-nos o conteúdo da linha 4695 no seu arquivo /home/allfreec/public_html/phpBB2/includes/class_core.php para nós será capaz de encontrar o plugin que é culpado e olhar para o erro.

ctrenks
17-06-18, 02:11
Começando pelo 4660, você pode ver o meu código para capturar o erro para o arquivo de log de jogar fora o real



/**
* 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
Obrigado. E este comentou código é o código, que retornou 1 ª linha de log de erro?

ctrenks
18-06-18, 18:16
Sim, ele poderia fazer qualquer modelo executado, que não correspondem a dois saibam queridos, que foi a sessão. Em seguida, ele teria de escrever a ytemple para o registo, em seguida, ser seguido pela mensagem de erro

ctrenks
18-06-18, 18:55
Não tenho certeza se isso fazia sentido, eu registradas cada modelo de carga de lá, em seguida, removido-los se eles não causar o erro com o str substituir seleção.

ctrenks
19-06-18, 16:33
Obrigado. E este comentou código é o código, que retornou 1 ª linha de log de erro?

error_log($template_code, 0); <- essa linha escreve atuais us $template_code para o arquivo de log

Como o erro é fatal, o que eu tinha para escrever cada modelo de código processados, em seguida, ver o que ele era antes de o erro fatal é registrado.

vBET
21-06-18, 17:06

$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
Não há tal código em vBET... você fez alguma alteração no código? Qual a versão que você tem (talvez alguns mais antigos)?

ctrenks
22-06-18, 14:50
Deve ser outro modelo que está usando o VBET nome lá não são feitas alterações no VBET 492.

vBET
22-06-18, 16:05
Então, talvez este código é gerado pela adição de várias partes (em loop ou alguma outra expressão). Vou verificar novamente, olhando apenas para parte dele e deixá-lo saber.

vBET
23-06-18, 19:03
OK, eu a encontrei. Eu não poderia encontrá-lo mais cedo, porque no código temos caracteres de escape antes de '. O código está no arquivo vbenterprisetranslator_functions_hooks.php

$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ';'
.$vbulletin->templatecache['forumhome_lastpostby'];
Eu não pode reproduzir o problema, então eu não sou capaz de verificar a solução. Por favor, descreva como reproduzir ou tentar substitua o código com o abaixo. Esta solução não foi verificado.

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

Isto pode ser ele - o código de erro informa sobre inesperado " e desde o vBulletin coloca o nosso código em " (eval('$final_rendered = "' . $template_code . '";');) isso pode levar a erro. Por favor, diga-nos, como reproduzir ou verificar a possível solução e envie-nos o seu status.

ctrenks
25-06-18, 14:31
Eu não posso forçar o erro, eu era apenas capaz de capturá-lo.. Isso não acontecer, pelo menos algumas vezes em um par de dias, por isso vou atualizar o código e assistir!

vBET
26-06-18, 10:05
Ótimo, vamos esperar para a sua informação.

ctrenks
27-06-18, 21:38
Até agora, não há erros, Parece ser bom

vBET
30-06-18, 09:15
Grande. Vou marcar esse bug como resolvido e incluem solução na próxima versão. Se os problemas aparecem novamente, por favor nos avise.

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