View Full Version: Zgjidhet Kapur një tjetër 4.2.5 VB me VBET gabim
Ishte marrë një tjetër paralajmërim kështu që unë krijuar një gabim të raportimit për të shkruar template të hyni dhe të kapur me këtë...
[04-Jun-2018 18:52:57 UTC] $lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
[04 Qer-2018 18:52:57 UTC] PHP Kuptoj gabim: gabim sintakse, të papritura " (T_ENCAPSED_AND_WHITESPACE), duke pritur identifikues (T_STRING), ose të ndryshueshme (T_VARIABLE) ose numri (T_NUM_STRING) në /home/allfreec/public_html/phpBB2/includes/class_core.php(4695) : eval()'d kodi në linjën 1
Çfarë kam bërë është të shkruani template të hyni para se të dështuar, më mori mua 3 ditë, por ky është model i ngarkimit që është hedhur gabim.
Ne do të hetojë atë dhe të ju dërgojnë përgjigje së shpejti.
Ne duhet të kenë versione të ndryshme të vBulletin, sepse në vendin e përshkruar nga log gabim ne kemi } dhe nuk duhet të jetë një shtojcë e përmbarimit.
Ju lutem na jepni përmbajtjes së linjës 4695 në dosjen tuaj /home/allfreec/public_html/phpBB2/includes/class_core.php kështu që ne do të jetë në gjendje për të gjetur të cilat plugin është fajtor dhe të kërkoni për bug.
Duke filluar në 4660, ju mund të shihni kodin e mia për të të kapur gabim në log file hedhur off aktuale
/**
* 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 . '";');
}
Faleminderit. Dhe kjo ka komentuar kodin tuaj kodi, i cili u kthye 1 linjë të log gabim?
Po, ajo do të hyni ndonjë model të ekzekutuara, që nuk përputhen me dy e dinë ata se ishte e prerjeve. Atëherë ajo do të shkruani ytemple të hyni pastaj do të pasohet nga gabimi
Nuk jam i sigurt nëse kjo kishte kuptim, kam hyrë çdo të vetme template ngarkesës atje, pastaj hiqen nëse ato nuk shkaktojnë gabim me rr zëvendësuar kontrolloni.
Faleminderit. Dhe kjo ka komentuar kodin tuaj kodi, i cili u kthye 1 linjë të log gabim?
error_log($template_code, 0); <- kjo linjë shkruan aktuale $template_code për të log file
Si është gabim fatal, unë kam për të shkruar çdo model të kodit të përpunuar, më pas të shohim se çfarë ajo ishte e para gabim fatal është regjistruar.
$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
Nuk ekziston një kod në vBET... A keni bërë ndonjë ndryshim në kodin? Cili version ju keni (ndoshta disa vjetër)?
Duhet të jetë një model që është duke përdorur VBET emrin e ka si nuk ka ndryshime janë bërë për të VBET 492.
Kështu që ndoshta ky kod është krijuar duke i shtuar disa pjesë (në lak ose disa të tjera të shprehjes). Unë do të kontrolloni përsëri, duke kërkuar vetëm për një pjesë të saj dhe le ju e dini.
OK, kam gjetur atë. Unë nuk mund të gjeni atë më herët, për shkak se në kodin kemi shpëtuar karaktere para '. Kodi është në file vbenterprisetranslator_functions_hooks.php
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ";"
.$vbulletin->templatecache['forumhome_lastpostby'];
Unë nuk mund të riprodhoni këtë çështje kështu që unë nuk jam në gjendje për të kontrolluar zgjidhje. Ju lutem përshkruani se si për të riprodhuar ose të përpiqen për të zëvendësuar kodin me një më poshtë. Kjo zgjidhje nuk ishte e kontrolluar.
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[lastposter] = \'\' . $lastpostinfo[lastposter] .\'\\ ";"
.$vbulletin->templatecache['forumhome_lastpostby'];
Kjo mund të jetë ajo - gabim kodin tregon për papritura ' dhe që nga vBulletin vë kodin tonë në " (eval('$final_rendered = "' . $template_code . '";');kjo mund të çojë në gabim. Ju lutem na tregoni, si për të riprodhuar ose kontrolloni zgjidhje të mundshme dhe të na dërgoni statusin tuaj.
Unë nuk mund të forcës gabim, unë kam qenë vetëm në gjendje për të kapur atë.. Kjo nuk ndodh të paktën disa herë në disa ditë, kështu që unë do update këtë kod dhe të shikojnë!
Të madh, ne do të presim për info tuaj.
Deri tani nuk ka gabime, Duket e mirë
E madhe. Unë do të shënojë këtë bug si zgjidhet dhe të përfshijë zgjidhje në lirimin e ardhshëm. Nëse problemet shfaqen përsëri, ju lutem na tregoni.
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.