Veure la Versió Completa: Resolt Capturat un altre 4.2.5 VB amb error de VBET
Aconseguia un altre avís així que vaig crear un error que informa per escriure la plantilla al log i va capturar això...
[04-Jun-2018 18:52:57 UTC] $lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .';
[04-Jun-2018 18:52:57 UTC] PHP Parse error: error de sintaxi, inesperat '' (T_ENCAPSED_I_WHITESPACE), esperant identificador (T_CORDA) o variable (T_VARIABLE) o número (T_CORDA_de NUM) dins /casa/allfreec/públic_html/phpBB2/inclou/nucli_de classe.php(4695) : eval()'d codi en línia 1
Què era escriure la plantilla al log abans que va fallar, em va agafar 3 dies però això és la plantilla que carrega que està tirant l'error.
L'investigarem i enviar-te resposta aviat.
Hem de tenir versions diferents de vBulletin perquè a lloc descrit per error log tenim } i hi hauria d'haver-hi algun plugin execució.
Si us plau donar-nos contingut de línia 4695 en el vostre arxiu /home/allfreec/public_html/phpBB2/includes/class_core.php Així que serem capaços de trobar quin plugin és culpable i buscar bug.
Començant a 4660, pots veure el meu codi per agafar l'error al log l'arxiu que tira del 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 . '";');
}
Dóna les gràcies a. I això el codi comentat és el vostre codi, el qual va retornar 1a línia d'error log?
Sí, ell log qualsevol plantilla executada, que no va aparellar els dos saben uns que sigui logging. Llavors escrigui el ytemple al log llavors ser seguit pel missatge d'error
No segur si allò sentit fet, jo logged cada càrrega de plantilla sola allà, llavors els va treure si no van causar l'error amb el str reemplaçar control.
Dóna les gràcies a. I això el codi comentat és el vostre codi, el qual va retornar 1a línia d'error log?
Error_log($codi_de plantilla, 0); <- aquesta línia escriu codi $de plantilla_actual al log arxiu
Mentre l'error és fatal, vaig haver de per escriure cada codi de plantilla processat, llavors veure què sigui abans de l'error fatal és enregistrat.
$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .';
Hi ha no tal codi en vBET... Vas fer qualssevol canvis dins codi? Quina versió tens (potser algun més vell)?
Ha de ser una altra plantilla que està utilitzant els VBET anomenen dins allà com cap canvi és fet a VBET 492.
Tan potser aquest codi és generat per afegir diverses parts (dins bucle o alguns altra expressió). Comprovaré un altre cop, mirant només per part d'ell i deixat saps.
OK, el vaig trobar. No el podria trobar més d'hora, perquè dins codi tenim caràcters d'escapada abans que '. El codi és dins arxiu vbenterprisetranslator_functions_hooks.php
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ';'
.$vbulletin->templatecache['forumhome_lastpostby'];
No puc reproduir l'assumpte així que no sóc capaç de comprovar solució. Si us plau descriure com per reproduir o intentar reemplaçar el codi amb el a sota. Aquesta solució no va ser comprovada.
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[lastposter] = \'\' . $lastpostinfo[lastposter] .\'\\ ';'
.$vbulletin->templatecache['forumhome_lastpostby'];
Això pot ser ell - codi d'error diu sobre inesperat ' i des de vBulletin posa el nostre codi dins " (eval('$final_rendered = "' . $template_code . '";');) Això podria dirigir a l'error. Si us plau dir-nos, com per reproduir, o comprovar solució possible i enviar-nos el vostre estat.
No puc forçar l'error, i era només capaç de capturar-lo.. Passa com a mínim uns quants temps en un parell de dies així que actualitzaré el codi i rellotge!
Gran - esperarem pel vostre info.
Per ara cap error, Mira bo
Gran. Marcaré aquest bug mentre solucionat i incloure solució en alliberament pròxim. Si els problemes apareixen un altre cop, si us plau deixat ens saber.
Automatic Translations (Powered by Google, Microsoft®,
Yandex, SDL Language Cloud, IBM Watson and Apertium):
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.