Điều này phụ thuộc vào việc bạn có đủ phiêu lưu hay không. Nếu bạn hiểu lỗi, điều đó có nghĩa là PHP của bạn có một số hàm tạo lớp cũ.
Trình xây dựng lớp OLD Php
Class myclassname {
function myclassname() {
//This is a constructor
}
Trình xây dựng lớp Php mới
Class myclassname {
function __construct() {
//this is the new constructor using __construct instead of the same function name as class name.
}
Vì vậy, những gì tôi đã làm là đi vào /usr/share/php/php-gettext/stream.php
và /usr/share/php/php-gettext/gettext.php
(hoặc bất kỳ tệp nào được nêu trong lỗi của bạn), đi đến tệp và thay đổi function myclassname()
thành function __construct
.
Hàm myclassname
này phải giống hệt với myclassname
khai báo LỚP .
Bạn sẽ thấy khoảng 4 lỗi nếu bạn đang sử dụng Ubuntu 16.04 với gettext mới nhất. Tôi chỉ thay đổi điều đó và nó không gây hại cho hệ thống của bạn. Đó là một cú pháp lập trình lỗi thời và nếu bạn nâng cấp trong tương lai, bạn cũng sẽ không gặp phải bất kỳ vấn đề nào. Tôi sẽ nói đó là một chỉnh sửa an toàn.
Nó không thực sự là một thay đổi lớn hay bất cứ điều gì, chỉ là cập nhật cú pháp. Nếu bạn cài đặt từ gói apt-get, bạn thực sự không có lựa chọn nào khác trừ khi bạn tự biên dịch.
sudo nano /usr/share/php/php-gettext/streams.php
Dòng 48 Lỗi StringReader.
Chuyển đến Dòng 52 và thay đổi
function StringReader ($str='') {
ĐẾN
function __construct($str='') {
Lỗi dòng 84 FileReader
Chuyển đến Dòng 90 và thay đổi
function FileReader($filename) {
đến
function __construct($filename) {
Dòng 145 Lỗi CacheFileReader
Chuyển đến Dòng 146 và thay đổi
function CachedFileReader($filename) {
đến
function __construct($filename) {
Sử dụng sudo nano /usr/share/php/php-gettext/gettext.php
.
gettext_reader {
Lỗi dòng 36
Tôi nghĩ rằng bạn có ý chính ngay bây giờ, đi đến dòng 101 và thay đổi
function gettext_reader($Reader, $enable_cache = true) {
Đến
function __construct($Reader, $enable_cache = true) {
mcrypt
vàmbstring
các mô-đun php và khởi động lại apache. Bạn đã làm điểu đó?