View Full Version: Gelöst Andere gefangen 4.2.5 VB mit VBET Fehler
War immer eine Warnung so habe ich eine Fehler-reporting zu schreiben, die Vorlage, das Protokoll und erfasst diese...
[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), expecting identifier (T_STRING) oder variable (T_VARIABLE) oder number (T_NUM_STRING) in /home/allfreec/public_html/phpBB2/includes/class_core.php(4695) : eval()'d code on line 1
Was ich Tat, war schreiben die Vorlage, das Protokoll, bevor es gescheitert ist, hat mich 3 Tage, aber dies ist die Vorlage laden, wirft den Fehler.
Wir prüfen es und senden Sie die Antwort bald.
Wir müssen unterschiedliche Versionen von vBulletin, da im Ort beschrieben-Fehler melden wir haben } und es gibt einige plugin-Ausführung.
Bitte geben Sie uns die Inhalte der Linie 4695 in der Datei /home/allfreec/public_html/phpBB2/includes/class_core.php so werden wir in der Lage sein, um herauszufinden, welches plugin schuldig ist, und suchen Fehler.
Ab 4660, können Sie sehen, mein code zum abfangen der Fehler in die Protokolldatei werfen Sie die tatsächliche
/**
* 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 . '";');
}
Danke. Und dieser code auskommentiert ist Ihr code, der zurückgegeben wird 1. Zeile der error log?
Ja, es würde protokollieren, Vorlage ausgeführt, dass nicht die zwei wissen lieben, dass war es mit der Protokollierung. Dann wäre es zu schreiben das ytemple in das Protokoll, dann folgt die Fehlermeldung
Nicht sicher, ob das Sinn machte, habe ich protokolliert jede einzelne Vorlage, laden Sie es, dann entfernt Sie, wenn Sie nicht die Ursache des Fehlers mit str replace überprüfen.
Danke. Und dieser code auskommentiert ist Ihr code, der zurückgegeben wird 1. Zeile der error log?
error_log($template_code, 0); <- diese Zeile schreibt den aktuellen $template_code in die log-Datei
Als der Fehler schwerwiegender ist, ich hatte zu schreiben, die jeden template-code verarbeitet, und dann sehen, was es war, bevor der fatale Fehler aufgezeichnet wird.
$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
Es gibt keinen solchen code in vBET... Hast du irgendwelche änderungen im code? Welche version hast du (vielleicht etwas älter)?
Muss ein anderes template verwenden, das die VBET Namen dort keine änderungen vorgenommen werden VBET 492.
Also, vielleicht ist dieser code generiert wird, durch das hinzufügen einiger Teile (in der Schleife, oder einen anderen Ausdruck). Ich werde noch einmal überprüfen, auf der Suche nur für einen Teil des Sie es und lassen Sie wissen.
OK, ich habe es gefunden. Ich konnte nicht finden, dass es früher, weil im code haben wir die escape-Zeichen vor '. Der code ist in der Datei vbenterprisetranslator_functions_hooks.php
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ';'
.$vbulletin- > templatecache['forumhome_lastpostby'];
Ich kann nicht reproduzieren Sie das Problem, so bin ich nicht in der Lage zu prüfen, Lösung. Bitte beschreiben Sie, wie Sie zu reproduzieren oder versuchen Sie, ersetzen Sie den code mit der unten. Diese Lösung wurde nicht geprüft.
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[lastposter] = \'\' . $lastpostinfo[lastposter] .\'\\ ';'
.$vbulletin- > templatecache['forumhome_lastpostby'];
Dies kann es - Fehler-code erzählt von der unerwarteten und da vBulletin setzt unser code " - (eval('$final_rendered = "' . $template_code . '";');) dies könnte führen zu dem Fehler. Bitte sagen Sie uns, wie Sie zu reproduzieren, oder überprüfen mögliche Lösung und senden Sie uns Ihre status.
Ich kann nicht erzwingen, dass der Fehler, ich war nur in der Lage, es zu erfassen.. Es passiert mindestens ein paar mal in ein paar Tagen, also werde ich den code aktualisieren und beobachten!
Toll - wir warten auf Ihre info.
Bisher keine Fehler, Sieht gut aus
Toll. Ich werde markieren Sie diesen bug als gelöst und beinhalten die Lösung in der nächsten Version. Wenn Probleme erscheinen wieder, bitte lassen Sie es uns wissen.
Automatic Translations (Powered by Google, Microsoft®,
Yandex, SDL Language Cloud, IBM Watson and Apertium):
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.