שגיאה לאחר שדרוג VB 4.2.5 ואז המהדורה האחרונה של VBET.
תקנים מחמירים PHP: רק משתנים צריך להיות מועברים באמצעות הפניה ב- /xxxx/includes/vbenterprisetranslator_class_translator.php על קו 410
שגיאה לאחר שדרוג VB 4.2.5 ואז המהדורה האחרונה של VBET.
תקנים מחמירים PHP: רק משתנים צריך להיות מועברים באמצעות הפניה ב- /xxxx/includes/vbenterprisetranslator_class_translator.php על קו 410
מחשבות על שגיאה זו, שלה re - להופיע אבל לא לעתים קרובות?
אנו לחקור אותו ונשלח שלך תגובה בקרוב.
נערך לאחרונה על ידי vBET; 04-06-18 ב 12:25.
תיקון מהיר לבעיה שלך:
1. פתח קובץ includes/vbenterprisetranslator_class_translator.php
2. חיפוש
3. להסיר סימן קו '&'Code:public function translateTextToDivide(&$toTranslate, $serie) {
4. עבור 2 (כל מתרגם יש גירסה משלו של פונקציה זו, אז אתה צריך להסיר את השלט במספר מקומות)
הסבר - הסימן '&' מאפשר להעביר את הערך ללא העתקה כך התווספה מטעמי ביצועים.
מאז מספר גירסה של PHP השפה כוחות לעבור שם משתנים בלבד (ולא הערכים סופר הוק בעת לפונקציה). זה מאוד לא נוח, כי אנחנו צריכים לשנות את הקוד במקומות רבים וליצור משתנים זמניים רק עבור קורא לפונקציה, אבל זה איך זה עובד עכשיו, כך יהיה לנו לעדכן את הקוד שלנו.
. נתנו לך תיקון מהיר. אנו לבדוק כיצד הפונקציה משמשת, להחליט, האם זה כדאי להסיר '&' או ליצור משתנים זמניים במקומות מסוימים.
. תודה לך, אבל אם הביצוע הוא בעיה, אני ארשה השגיאה כמו מופע קטן מאוד אבל תודה על ההסבר.
פתרון ללא ענישה ביצועים ייכללו במהדורה החדשה. תיקון מהיר, בבקשה:
1. פתח קובץ includes/vbenterprisetranslator_class_translator.php
2. מצא:
3. החלף ב:Code:return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this) .$this->translateTextToDivide(substr($toTranslate, $point), $serie);
4. עבור 2 (מספר מתרגמים יש קוד זה)Code:$rest = substr($toTranslate, $point); return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this) .$this->translateTextToDivide($rest, $serie);