Błąd po uaktualnieniu VB 4.2.5, a następnie najnowszej wersji VBET...
Surowe normy PHP: Tylko zmienne powinny przekazywany przez odwołanie w /xxxx/includes/vbenterprisetranslator_class_translator.php na linii 410
Błąd po uaktualnieniu VB 4.2.5, a następnie najnowszej wersji VBET...
Surowe normy PHP: Tylko zmienne powinny przekazywany przez odwołanie w /xxxx/includes/vbenterprisetranslator_class_translator.php na linii 410
Każdy myśli o tym błędzie, jego re - pojawiające się, ale nie często?
Będziemy go badać i wysłać odpowiedzi wkrótce.
Ostatnio edytowane przez vBET; 04-06-18 W 12:25.
Quick fix w rozwiązaniu problemu:
1. Otwórz plik includes/vbenterprisetranslator_class_translator.php
2. Znajdź
3. Usuń z linii znak '&'Code:public function translateTextToDivide(&$toTranslate, $serie) {
4. Przejdź do 2 (każdy Tłumacz ma swoją własną wersję tej funkcji, więc trzeba usunąć znak w kilku miejscach)
Niektóre wyjaśnienia - znak '&' pozwala przekazać wartość bez kopiowania, więc został dodany ze względu na wydajność.
Od niektórych wersji PHP język wymusza aby przejść tam tylko zmienne (nie wartości liczyć ad hoc, gdy funkcja jest wywoływana). Jest to bardzo niewygodne, ponieważ musimy zmienić kod w wielu miejscach i Tworzenie zmiennych tymczasowych tylko dla wywołania funkcji, ale jest, jak to działa teraz, więc trzeba będzie zaktualizować nasz kod.
Daliśmy wam szybko naprawić. Będziemy sprawdzać, jak funkcja jest używana i zdecydować, czy lepiej usunąć '&' lub Tworzenie zmiennych tymczasowych w niektórych miejscach.
Dziękuję, ale jeśli problem, jest wydajność będzie umożliwić błąd ponieważ jest zjawiskiem bardzo małe, ale dziękuję za wyjaśnienie.
Rozwiązanie bez kary wydajności zostaną uwzględnione w nowej wersji. W quick fix, proszę:
1. Otwórz plik includes/vbenterprisetranslator_class_translator.php
2. Znajdź:
3. Zamień na:Code:return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this) .$this->translateTextToDivide(substr($toTranslate, $point), $serie);
4. Przejdź do 2 (ten kod ma kilka tłumaczy)Code:$rest = substr($toTranslate, $point); return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this) .$this->translateTextToDivide($rest, $serie);