View Full Version: Opgelost Gevangen andere 4.2.5 VB met VBET fout
Was het krijgen van een waarschuwing dus heb ik een fout rapportage te schrijven van de sjabloon op het log en deze gevangen...
[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), verwacht identifier (T_STRING) of variabel (T_VARIABLE) of aantal (T_NUM_STRING) in /home/allfreec/public_html/phpBB2/includes/class_core.php(4695) : eval()'d code op regel 1
Wat ik deed was het schrijven van het sjabloon om het logboek vóór het mislukt, kostte me 3 dagen, maar dit is de template laden dat is het gooien van de fout.
We onderzoeken het en stuur je antwoord snel.
We moeten verschillende versies van vBulletin want in plaats beschreven door foutenlogboek we hebben } en er moeten een aantal plug-in uitvoering.
Geef ons dan eerst de inhoud van de lijn 4695 in uw bestand /home/allfreec/public_html/phpBB2/includes/class_core.php zo zullen we in staat zijn om te vinden welke plugin is schuldig en kijk voor de bug.
Vanaf 4660, zie je mijn code te vangen van de fout op naar het logboek bestand te gooien uit de werkelijke
/**
* 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 . '";');
}
Bedankt. En dit commentaar code is de code die terug de 1e lijn van de fout melden?
Ja, het zou logboek van een sjabloon uitgevoerd, die niet overeenkomen met de twee weten degenen die het was te loggen. Dan zou het schrijven van de ytemple de log vervolgens worden gevolgd door de fout bericht
Niet zeker of dat klopte, ik ingelogd elke sjabloon laden, dan is verwijderd als ze niet de fout veroorzaken met de str vervangen controleren.
Bedankt. En dit commentaar code is de code die terug de 1e lijn van de fout melden?
error_log($template_code, 0); <- deze regel schrijft huidige $template_code naar het log-bestand
Als de fout is fataal, ik had om te schrijven elke template code verwerkt, dan zien wat het was voordat de fatale fout is opgenomen.
$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
Er is geen code in vBET... Heb je wijzigingen aangebracht in de code? Welke versie heb je (misschien wat oudere)?
Een ander sjabloon dat is met behulp van de VBET naam in als er geen veranderingen worden aangebracht aan VBET 492.
Dus misschien deze code wordt gegenereerd door het toevoegen van verschillende delen (in een lus of een andere expressie). Ik zal het opnieuw te controleren, op zoek slechts voor een deel ervan en laat het je weten.
OK, ik heb het gevonden. Ik kon het niet vinden het eerder, omdat in de code die we hebben escape-tekens voor '. De code is in bestand vbenterprisetranslator_functions_hooks.php
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ';'
.$vbulletin->templatecache['forumhome_lastpostby'];
Ik kan het niet reproduceren van het probleem, dus ik ben niet in staat om te controleren oplossing. Beschrijf hoe het te reproduceren of te proberen te vervangen door de code in met het onderstaande. Deze oplossing werd niet gecontroleerd.
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[lastposter] = \'\' . $lastpostinfo[lastposter] .\'\\ ';'
.$vbulletin->templatecache['forumhome_lastpostby'];
Dit kan het - fout code vertelt over de onverwachte ' en omdat vBulletin zet onze code in " (eval('$final_rendered = "' . $template_code . '";');) dit zou kunnen leiden tot de fout. Vertel ons, hoe te reproduceren, te controleren of mogelijke oplossing en stuur ons je op-status.
Ik kan geen kracht fout, ik was alleen in staat om het te vangen.. Het gebeurt op zijn minst een paar keer in een paar dagen, dus ik zal het bijwerken van de code en horloge!
Geweldig, we zullen wachten voor je info.
Tot nu toe geen fouten, Ziet er goed uit
Geweldig. Ik zal in het teken van deze bug opgelost en zijn oplossing in de volgende release. Als het probleem opnieuw wordt weergegeven, laat het ons weten.
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.