16.04 के साथ phpmyadmin में "पदावनति सूचना" त्रुटि


11

जब मुझे 16.04 में phpmyadmin लॉन्च होता है, तो मुझे त्रुटियाँ मिल रही हैं:

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)

यह ऊपर के समान ही बैकट्रेस के साथ भी जारी है:

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

मैंने अपडेट किया है और सत्यापित किया है कि मैं नवीनतम गेटेक्स्ट और mbstring पर हूं। हल करने पर कोई विचार?


पर इस ट्यूटोरियल यह कहता है कि आप सक्षम करने के लिए है कि mcryptऔर mbstringphp मॉड्यूल और अपाचे पुनः आरंभ करें। क्या तुमने वह किया?
21:39 पर बिस्तोको

हां मैंने mcrypt और mbstring को अपडेट किया है और अपाचे को फिर से शुरू किया है।
१३:१६ को तेदसर्ड

मैं [सीधे पैकेज डाउनलोड करने की सलाह दूंगा] ( phpmyadmin.net/downloads ) जो आपके php / mysql संस्करणों को परेशान करने के लिए फिट बैठता है।
बिस्तोको

जवाबों:


29

यह निर्भर करता है कि क्या आप काफी साहसी हैं। यदि आप त्रुटि को समझते हैं, तो इसका मतलब है कि आपके PHP में कुछ पुराने वर्ग निर्माता हैं।

OLD Php क्लास कंस्ट्रक्टर

Class myclassname {

    function myclassname() {
      //This is a constructor
    }

न्यू Php क्लास कंस्ट्रक्टर

Class myclassname {
    function __construct() {
      //this is the new constructor using __construct instead of the same function name as class name.
}

तो क्या मैंने किया था में जाना था /usr/share/php/php-gettext/stream.phpऔर /usr/share/php/php-gettext/gettext.php(या जो भी फाइल अपने त्रुटि में कहा गया है), फ़ाइल और परिवर्तन करने के लिए जाने function myclassname()के लिए function __construct

फ़ंक्शन myclassnameCLASS myclassnameघोषणा के समान होना चाहिए ।

यदि आप ubuntu 16.04 पर नवीनतम गेटेक्स्ट के साथ हैं, तो आपको 4 त्रुटियों के बारे में देखना चाहिए। मैं बस इसे बदलता हूं और यह आपके सिस्टम के लिए हानिकारक नहीं है। यह एक पुरानी प्रोग्रामिंग सिंटैक्स है और यदि आप भविष्य में अपग्रेड करते हैं तो आपको किसी समस्या का भी सामना नहीं करना पड़ेगा। मैं कहूंगा कि यह एक सुरक्षित संपादन है।

यह वास्तव में एक बड़ा बदलाव या कुछ भी नहीं है, बस सिंटैक्स अपडेट कर रहा है। यदि आप apt-get package से स्थापित करते हैं तो आपके पास वास्तव में कोई दूसरा विकल्प नहीं है जब तक आप खुद को संकलित नहीं करते हैं।

sudo nano /usr/share/php/php-gettext/streams.php

लाइन 48 स्ट्रिंगर त्रुटि।

लाइन 52 पर जाएं और बदलें

function StringReader ($str='') {

सेवा

function __construct($str='') {

लाइन 84 FileReader त्रुटि

लाइन 90 पर जाएं और बदलें

function FileReader($filename) {

सेवा

function __construct($filename) {

लाइन 145 CacheFileReader त्रुटि

लाइन 146 पर जाएं और बदलें

function CachedFileReader($filename) {

सेवा

function __construct($filename) {

का उपयोग कर sudo nano /usr/share/php/php-gettext/gettext.php

लाइन 36 gettext_reader {त्रुटि

मुझे लगता है कि आप अब जिस्ट प्राप्त करते हैं, 101 लाइन पर जाते हैं और बदलते हैं

function gettext_reader($Reader, $enable_cache = true) {

सेवा

function __construct($Reader, $enable_cache = true) {

2
एक को देखना चाहिए: sudo nano /usr/share/php/php-gettext/gettext.phpऔरsudo nano /usr/share/php/php-gettext/streams.php
Technico.top

पैकेज की गई फाइलें 20101225 से हैं। इसलिए भले ही बैकअप रखना आपके बस का है - हमेशा - आपको अपने फिक्स को अनफिक्स करने वाले पैकेज अपडेट से सुरक्षित होना चाहिए, किसी भी अपडेट में वह फिक्स होना चाहिए जो खुद से हो!
फ्लोट्रॉन

8

चूँकि मेरे पास किसी विशेष के शानदार उत्तर पर टिप्पणी करने के लिए अभी तक पर्याप्त प्रतिष्ठा नहीं है , इसलिए मैं इसके बजाय उत्तर दूंगा।

यहां एक पंक्ति के आदेश दिए गए हैं जो सुझाए गए संपादन करते हैं:

sed -ri.bak's: function StringReader। *: function __construct ($ str = \ x27 \ x27) {: '/usr/share/php/php-gettext/streams.php
sed -ri's: function FileReader। *: फ़ंक्शन __construct ($ फ़ाइल नाम) {: '/usr/share/php/php-gettext/streams.php
sed -ri's: function CakedFileReader। *: फ़ंक्शन __construct ($ फ़ाइल नाम) {: '/usr/share/php/php-gettext/streams.php
sed -ri.bak's: function gettext_reader। *: function __construct ($ रीडर, $ enable_cache = true) {: '/usr/share/php/getp-gettext/ntext.php

वहाँ मुझे थोड़ा समय बचाया ... धन्यवाद आदमी :-)
एडम

5

आप phpmyadmin के लिए एक और पीपीए का उपयोग कर सकते हैं। यह पीपीए लिंक है

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

चूंकि यह केवल एक अस्थायी समाधान है या एक इष्टतम नहीं है, जब तक कि ubuntu repos में phpmyadmin के पैकेज का पुनर्निर्माण नहीं किया जाता है।


1
हालांकि इससे मुझे मदद मिली
शशांक सक्सेना

सावधान रहें, इस ppa को एक साल से अधिक समय से कोई अपडेट नहीं मिला है।
लॉरेंट

0

PhpMyAdmin मुद्दे के लॉगिन पृष्ठ पर यह अपूरणीय सूचना "संदेश php.ini फ़ाइल को संपादित करके आसानी से हल किया गया है" /etc/php/7.0/apache2/php.ini

त्रुटि में सुधार करें:

error_reporting = ~E_DEPRECATED & E_ALL     

डिफ़ॉल्ट रूप से यह टिप्पणी की स्थिति में है, इसलिए इसे अनलॉम्ब करें और इसे बदल दें।

फिर अपाचे को पुनरारंभ करें:

sudo systemctl restart apache2
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.