To zależy od tego, czy jesteś wystarczająco ryzykowny. Jeśli rozumiesz błąd, oznacza to, że twój PHP ma jakieś stare konstruktory klas.
Stary konstruktor klasy php
Class myclassname {
function myclassname() {
//This is a constructor
}
Nowy konstruktor klasy php
Class myclassname {
function __construct() {
//this is the new constructor using __construct instead of the same function name as class name.
}
Więc co zrobiłem było iść do /usr/share/php/php-gettext/stream.php
i /usr/share/php/php-gettext/gettext.php
(lub cokolwiek plik podano w błąd), przejdź do pliku i zmiany function myclassname()
do function __construct
.
Funkcja myclassname
powinna być identyczna z myclassname
deklaracją KLASY .
Powinieneś zobaczyć około 4 błędów, jeśli jesteś na Ubuntu 16.04 z najnowszym gettext. Po prostu to zmieniam i nie jest to szkodliwe dla twojego systemu. Jest to przestarzała składnia programowania, a jeśli dokonasz aktualizacji w przyszłości, nie napotkasz również żadnego problemu. Powiem, że to bezpieczna edycja.
To nie jest tak naprawdę poważna zmiana ani nic, tylko aktualizacja składni. Jeśli instalujesz z pakietu apt-get, tak naprawdę nie masz innego wyjścia, chyba że sam się skompilujesz.
sudo nano /usr/share/php/php-gettext/streams.php
Błąd czytnika linii 48.
Przejdź do linii 52 i zmień
function StringReader ($str='') {
DO
function __construct($str='') {
Błąd 84 czytnika plików
Przejdź do linii 90 i zmień
function FileReader($filename) {
do
function __construct($filename) {
Błąd CacheFileReader linii 145
Idź do linii 146 i zmień
function CachedFileReader($filename) {
do
function __construct($filename) {
Korzystanie sudo nano /usr/share/php/php-gettext/gettext.php
.
gettext_reader {
Błąd linii 36
Myślę, że teraz rozumiesz, przejdź do linii 101 i zmień
function gettext_reader($Reader, $enable_cache = true) {
Do
function __construct($Reader, $enable_cache = true) {
mcrypt
imbstring
moduły php i restart apache. Czy ty to zrobiłeś?