web-dev-qa-db-ja.com

PHP 7 phpmyadminを使用すると、多くの廃止予定通知が表示されます

buntu 16.04 LTSPHP7で実行し、phpmyadminをインストールしています。ただし、次のような多くの廃止予定通知を受け取ります。

Deprecation Notice in ./../php/php-gettext/streams.php#48  
Methods with the same name as their class will not be constructors in a future version of PHP; StringReader has a deprecated constructor

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)

これは問題ですか?これらの通知を取り除くにはどうすればよいですか(ページがロードされるかアクションが実行されるたびにポップアップします)?

56
yoano

この問題があり、phpmyadminとその依存関係を簡単に再インストールすることで解決しました。次のコマンドを実行します。

Sudo apt-get remove --purge phpmyadmin php-gettext php-mbstring -y
Sudo apt-get autoremove -y
Sudo apt-get update
Sudo apt-get install phpmyadmin php-gettext php-mbstring -y

再インストールしたら、新品のようになります!

107
David Curry

この問題を修正した方法は、 16.04でのphpmyadminの減価償却通知エラー のaskubuntuの指示に従うことでした。 /usr/share/php/php-gettext/streams.phpの3行と/usr/share/php/php-gettext/gettext.phpの1行を変更する必要があります。

そのリンクから、これはあなたがする必要がある変更です(ubuntu 16.04がある場合):

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

48行目のStringReaderエラー

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 {error

要旨を取得し、101行目に移動して変更すると思います

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

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

Phpmyadminには別のPPAを使用できます。ここでは PPA Link

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

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

40
Deepanshu Jain

Php.iniでerror_reporting =〜E_DEPRECATEDを設定してみてください。これにより、非推奨エラーが削除されます。 error_reporting = ~E_DEPRECATED & E_ALLに似ている必要があります。動作するかどうか教えてください。

24
beniaminp

親愛なる@BeniaminPantiruあなたの答えは正しいですが、あなたの解決策は、Apacheにエラーを修正するのではなく非推奨エラーを表示しないように指示しているため、問題を解決しません。ただし、必要なセキュリティ更新プログラムとパッケージをアップグレードすることにより、このエラーを簡単に修正できます。次のコマンドを入力して問題を解決します。

Sudo apt-get dist-upgrade
16
Mohamed Haseem

使用しているphpMyAdminのバージョンやインストール元については言及していませんが、Ubuntuパッケージバージョン4.5.4.1またはソースからの古いサポートされていないバージョンのようです。いずれにしても、あなたの問題は https://github.com/phpmyadmin/phpmyadmin/issues/11462 で報告された(そして修正された)と思います-Ubuntuパッケージ版を使用している場合は、コメントそこには、nijel PPAバージョンがより適切に機能することが示唆されています。

もちろん、Benamin Pantiruの受け入れられた答えも良いです。実稼働サーバーを実行している場合は、PHPが表示する警告とエラーの数を標準的なベストプラクティスとして減らす必要があります。

5
Isaac Bennetch

Php.iniファイルパス/etc/php/7.0でエラーレポートを次のように設定して修正しました

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

一般的な値:

 E_ALL (Show all errors, warnings and notices including coding standards.)

 E_ALL & ~E_NOTICE  (Show all errors, except for notices)

 E_ALL & ~E_NOTICE & ~E_STRICT  (Show all errors, except for notices and coding standards warnings.)

 E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)

 Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
3
Ranjithkumar MV

Sudo apt-get dist-upgradeを使用してサーバーを更新すると、Apacheが再起動しました。

この問題は、phpmyadminを頻繁に更新しないことが原因だと考えています。

2
Trey Tyler

同じ問題がありました。 phpmyadminを削除して再インストールする前に、そのことを伝えたかっただけです。 Apacheを再起動してください。私の場合、これは最も単純なアプローチであり、最初に試しました。人々に時間を節約してほしかっただけです。

 Sudo service Apache2 restart
2
Mycodingproject

依存関係自体で解決され(あなたの場合はphp-gettext)、グローバルPHP設定を変更したくないので、他のものが影響を受けないようにするには、PHPMyadminのカスタマイズだけを試してください。を置くことによってindex.php

error_reporting( ~E_DEPRECATED & E_ALL );

最初のどこかを使用して

php_value error_reporting 24575

.htdocsまたは仮想ホスト構成ディレクティブのいずれか。後者の方が良いと思います。

2
Wojciech Fornal

この問題は、古いPHPクラスコンストラクター構文が原因です。この問題を修正するには、ターミナルで次のコードを実行します。

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
1
John Collins

以前に実行していた元のPHPバージョンと現在のPHPサーバーバージョンの間に不一致があると、問題が発生します。インストールされているPHPバージョンに応じて、これで十分です。

Sudo apt-get update
Sudo apt-get install phpmyadmin php7.0-gettext php7.0-mbstring -y
0
Chibueze Opata

phpMyAdminのログインページの「廃止通知」メッセージ

わかりました、この問題はphp.iniファイルを編集することで簡単に解決しました:

ファイルパス:/etc/php/7.0/Apache2/php.ini

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

CODE: SELECT ALL

error_reporting = ~E_DEPRECATED & E_ALL.   

デフォルトではコメント位置にあるため、コメントを外して変更してください。

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

# systemctl restart Apache2

または2番目のソリューション

apt-get purge phpmyadmin

apt-get phpmyadminをインストール

インストールが必要な場合

apt-get install php7.0-mbstring

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

# systemctl restart Apache2

さて、「廃止のお知らせ」メッセージは表示されなくなりました。

0
Shrikant Verma

新しいUbuntuから公式パッケージをダウンロードしたという点で、この問題を別の方法で解決しました。

https://packages.ubuntu.com/search?keywords=phpmyadmin

そして、それをインストールしました:

Sudo dpkg -i phpmyadmin_4.6.6-5_all.deb

したがって、非公式のリポジトリを使用する必要はなく、パッケージは後で更新されます。

0
eitch

PHPのインストールを台無しにしたくないので、Apacheを再起動するだけで完全に機能しました。

"Sudo service Apache2 restart"
0
PrafulPravin