Ver Versão Completa: Resolvido Capturado outro 4.2.5 VB com VBET erro
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.
Vamos investigá-lo e enviar-lhe uma resposta em breve.
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.
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 . '";');
}
Obrigado. E este comentou código é o código, que retornou 1 ª linha de log de erro?
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
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.
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.
$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)?
Deve ser outro modelo que está usando o VBET nome lá não são feitas alterações no VBET 492.
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.
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.
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!
Ótimo, vamos esperar para a sua informação.
Até agora, não há erros, Parece ser bom
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):
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.