View Full Version: Soal Ditangkap 4.2.5 lain VB dengan VBET kesalahan
Mendapatkan peringatan lain jadi saya membuat kesalahan pelaporan untuk menulis template ke log dan ditangkap ini...
[04-Jun-2018 18:52:57 UTC] $lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
[04-Jun-2018 18:52:57 UTC] Kesalahan PHP Parse: kesalahan sintaks, unexpected '' (T_ENCAPSED_AND_WHITESPACE), mengharapkan pengenal (T_STRING) atau variabel (T_VARIABLE) atau nomor (T_NUM_STRING) di /home/allfreec/public_html/phpBB2/includes/class_core.php(4695): eval () akan kode jalur 1
Apa yang saya lakukan adalah menulis template ke log sebelumnya gagal, membawa saya 3 hari, tetapi ini adalah loading template yang melempar kesalahan.
Kami akan menyelidiki dan mengirimkan respon segera.
Kita harus memiliki berbagai versi vBulletin karena di tempat yang dijelaskan oleh log kesalahan kita memiliki} dan harus ada beberapa plugin eksekusi.
Tolong beri kami isi dari baris 4695 dalam file Anda /home/allfreec/public_html/phpBB2/includes/class_core.php Jadi kita akan mampu menemukan plugin yang bersalah dan mencari bug.
Mulai 4660, Anda dapat melihat kode saya untuk menangkap kesalahan ke file log melemparkan yang sebenarnya
/**
* 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 . '";');
}
Terima kasih. Dan kode ini berkomentar kode Anda, yang kembali 1 baris log kesalahan?
Ya, ini akan login setiap template yang dijalankan, yang tidak cocok dengan dua tahu orang-orang bahwa itu adalah penebangan. Kemudian ia akan menulis ytemple log kemudian diikuti oleh pesan kesalahan
Tidak yakin jika yang masuk akal, saya login setiap satu template beban tidak, kemudian menghapus mereka jika mereka tidak menyebabkan kesalahan dengan cek ganti str.
Terima kasih. Dan kode ini berkomentar kode Anda, yang kembali 1 baris log kesalahan?
error_log ($template_code, 0); <-baris ini menulis saat ini $template_code ke log file
Sebagai kesalahan fatal, saya harus menulis setiap kode template yang diproses, kemudian melihat apa itu sebelum kesalahan fatal dicatatkan.
$lastpostinfo['lastposter'] = '' . $lastpostinfo['lastposter'] .'';
Ada tidak ada kode tersebut di vBET... Apakah Anda melakukan perubahan dalam kode? Versi yang Anda punya (mungkin beberapa remaja)?
Harus template lain yang menggunakan nama VBET di sana karena tidak ada perubahan yang dibuat untuk VBET 492.
Jadi mungkin kode yang dihasilkan dengan menambahkan beberapa bagian (dalam lingkaran atau beberapa ungkapan lain). Aku akan periksa lagi, mencari hanya bagian dari itu dan membiarkan Anda tahu.
OK, saya menemukannya. Aku tidak bisa menemukannya sebelumnya, karena dalam kode kita memiliki karakter melarikan diri sebelum '. Kode ini di file vbenterprisetranslator_functions_hooks.php
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[\'lastposter\'] = \'\' . $lastpostinfo[\'lastposter\'] .\'\\ ';'
. $vbulletin -> templatecache ['forumhome_lastpostby'];
Saya tidak dapat mereproduksi masalah jadi saya tidak dapat memeriksa solusi. Jelaskan bagaimana untuk mereproduksi atau mencoba untuk menggantikan kode dengan yang di bawah ini. Solusi ini tidak dicentang.
$vbulletin->templatecache['forumhome_lastpostby'] =
'$lastpostinfo[lastposter] = \'\' . $lastpostinfo[lastposter] .\'\\ ';'
. $vbulletin -> templatecache ['forumhome_lastpostby'];
Ini bisa menjadi-kode kesalahan menceritakan tentang tak terduga ' dan sejak vBulletin menempatkan kode kami dalam "()eval('$final_rendered = "' . $template_code . '";');) hal ini bisa mengakibatkan kesalahan. Harap beritahu kami, mereproduksi, atau solusi dan kirimkan status Anda bagaimana.
Saya tidak bisa memaksa kesalahan, aku hanya bisa menangkap... Hal ini terjadi setidaknya beberapa kali dalam beberapa hari sehingga aku akan memperbarui kode dan menonton!
Besar - kita akan menunggu info Anda.
Sejauh ini tidak ada kesalahan, terlihat baik
Hebat. Aku akan menandai bug ini sebagai dipecahkan dan mencakup solusi dalam rilis berikutnya. Jika masalah muncul kembali, beritahukan kami tahu.
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.