lỗi thông báo khấu hao trong phpmyadmin với 16.04


11

Tôi gặp lỗi khi khởi chạy phpmyadmin vào 16.04.

Dưới đây là các lỗi:

Deprecation Notice in ./../php/php-gettext/streams.php#48

Backtrace

./../php/php-gettext/gettext.inc#41: require()
./libraries/select_lang.lib.php#477: require_once(./../php/php-gettext/gettext.inc)
./libraries/common.inc.php#569: require(./libraries/select_lang.lib.php)
./index.php#12: require_once(./libraries/common.inc.php)

it continues with these as well with the same backtrace as above:
Deprecation Notice in ./../php/php-gettext/streams.php#84
Deprecation Notice in ./../php/php-gettext/streams.php#145
Deprecation Notice in ./../php/php-gettext/gettext.php#36

Tôi đã cập nhật và xác minh tôi đang trên gettext và mbopes mới nhất. Mọi suy nghĩ về việc giải quyết


Trong hướng dẫn này, nó nói rằng bạn phải kích hoạt mcryptmbstringcác mô-đun php và khởi động lại apache. Bạn đã làm điểu đó?
bistoco

có, tôi đã cập nhật mcrypt và mbopes và đã khởi động lại apache.
tseward

Tôi sẽ đề nghị [tải gói trực tiếp] ( phpmyadmin.net/doads ) phù hợp với các phiên bản php / mysql của bạn, để xử lý sự cố.
bistoco

Câu trả lời:


29

Đ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/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 myclassnamenày phải giống hệt với myclassnamekhai 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) {

2
mọi người nên xem: sudo nano /usr/share/php/php-gettext/gettext.phpsudo nano /usr/share/php/php-gettext/streams.php
Technico.top

các tệp được đóng gói là từ năm 20101225. Vì vậy, mặc dù việc giữ các bản sao lưu chỉ là những gì bạn làm - luôn luôn - bạn nên an toàn trước một bản cập nhật gói không trộn bản sửa lỗi của mình, mọi bản cập nhật đều phải có bản sửa lỗi đó!
lưu lượng

8

Vì tôi chưa có đủ danh tiếng để nhận xét về câu trả lời tuyệt vời của Người đặc biệt , nên tôi sẽ chỉ trả lời thay thế.

Dưới đây là các lệnh một dòng thực hiện các chỉnh sửa được đề xuất:

sed -ri.bak 's: function StringReader. *: function __construct ($ str = \ x27 \ x27) {:' /usr/share/php/php-gettext/streams.php
sed -ri 's: function FileReader. *: function __construct ($ filename) {:' /usr/share/php/php-gettext/streams.php
sed -ri 's: function CacheedFileReader. *: function __construct ($ filename) {:' /usr/share/php/php-gettext/streams.php
sed -ri.bak 's: function gettext_reader. *: function __construct ($ Reader, $ enable_cache = true) {:' /usr/share/php/php-gettext/gettext.php

tiết kiệm cho tôi một chút thời gian ở đó ... cảm ơn người đàn ông :-)
Adam

5

Bạn có thể sử dụng PPA khác cho phpmyadmin. Đây là Liên kết PPA

sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt update
sudo apt install phpmyadmin

Vì nó chỉ là một giải pháp tạm thời hoặc không phải là một giải pháp tối ưu, cho đến khi gói phpmyadmin trong ub Ubuntu repos được xây dựng lại.


1
Điều này đã giúp tôi mặc dù
Shashank Saxena

Hãy cẩn thận, ppa này đã không nhận được bất kỳ bản cập nhật nào trong hơn một năm.
Laurent

0

Thông báo không dùng nữa "thông báo trên trang đăng nhập của vấn đề phpMyAdmin có thể được giải quyết dễ dàng bằng cách chỉnh sửa tệp php.ini tại /etc/php/7.0/apache2/php.ini

Thay đổi giá trị lỗi thông báo thành:

error_reporting = ~E_DEPRECATED & E_ALL     

Theo mặc định, nó nằm ở vị trí bình luận, vì vậy hãy bỏ qua nó và thay đổi nó.

Sau đó khởi động lại Apache:

sudo systemctl restart apache2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.