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)

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

私は最新のgettextとmbstringを使用していることを確認しました。解決についての考え


、このチュートリアルで、それはあなたが有効にするために持っていることを言うmcryptと、mbstringphpのモジュールをし、Apacheを再起動します。あなたはそれをやりました?
ビストコ2016

はい、私はmcryptとmbstringを更新し、Apacheを再起動しました。
2016

php / mysqlのバージョンに適合する[パッケージを直接ダウンロードする](phpmyadmin.net/downloads)をトラブルシューティングすることをお勧めします。
ビストコ

回答:


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でした

関数myclassnameはCLASS myclassname宣言と同じでなければなりません。

最新のgettextを備えたubuntu 16.04を使用している場合は、約4つのエラーが表示されます。私はそれを変更するだけで、システムに害はありません。これは時代遅れのプログラミング構文であり、将来アップグレードしても問題は発生しません。安全な編集だと言います。

これは実際には大きな変更などではなく、構文の更新だけです。apt-getパッケージからインストールする場合、自分でコンパイルしない限り、他に選択肢はありません。

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

行48のStringReaderエラー。

52行目に移動して変更

function StringReader ($str='') {

function __construct($str='') {

行84 FileReaderエラー

Line 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からのものです。したがって、バックアップを維持することはあなたが行うことだけです-常に-フィックスをアンフィックスするパッケージアップデートから安全である必要があります。
Flowtron

8

Someone Specialのすばらしい答えについてコメントする評判がまだないので、代わりに返信します。

次に、推奨される編集を実行する1行のコマンドを示します。

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 CachedFileReader。*: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

そこで少し時間を節約できました...ありがとう、:-)
Adam

5

phpmyadminに別のPPAを使用できます。ここにPPAリンクがあります。

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

これは一時的な解決策であるか、最適な解決策ではないため、ubuntuリポジトリのphpmyadminのパッケージが再構築されるまで。


1
これは私にも役立ちました
Shashank Saxena

注意してください。このPPAは1年以上アップデートを受けていません。
Laurent

0

phpMyAdminの問題のログインページにあるこの非推奨の通知メッセージは、次の場所にあるphp.iniファイルを編集することで簡単に解決できます。 /etc/php/7.0/apache2/php.ini

error_reportingの値を次のように変更します。

error_reporting = ~E_DEPRECATED & E_ALL     

デフォルトではコメント位置にあるので、コメントを外して変更します。

次に、Apacheを再起動します。

sudo systemctl restart apache2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.