Zobacz pełną wersję: Rozwiązany Surowe normy PHP: Tylko zmienne powinny być przekazywane przez odwołanie
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.
Quick fix w rozwiązaniu problemu:
1. Otwórz plik includes/vbenterprisetranslator_class_translator.php
2. Znajdź
public function translateTextToDivide(&$toTranslate, $serie) {
3. Usuń z linii znak '&'
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ź:
return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide(substr($toTranslate, $point), $serie);
3. Zamień na:
$rest = substr($toTranslate, $point);
return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide($rest, $serie);
4. Przejdź do 2 (ten kod ma kilka tłumaczy)
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.