J'ai buntu 16.04 LTS fonctionne avec PHP7 et phpmyadmin est installé. Cependant, je reçois beaucoup d'avis de dépréciation tels que:
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)
Est-ce un problème? Comment puis-je me débarrasser de ces avis (ils apparaissent chaque fois qu'une page est chargée ou qu'une action est effectuée)?
J'ai eu ce problème et résolu avec une simple réinstallation de phpmyadmin et ses dépendances. Exécutez les commandes suivantes:
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
Une fois réinstallé, vous devriez être comme neuf!
La façon dont j'ai résolu ce problème était de suivre les instructions de askubuntu à erreur de notification d'amortissement dans phpmyadmin avec 16.04 . Cela implique de changer trois lignes dans /usr/share/php/php-gettext/streams.php et une ligne dans /usr/share/php/php-gettext/gettext.php.
A partir de ce lien, voici les changements que vous devez faire (si vous avez Ubuntu 16.04):
Sudo nano /usr/share/php/php-gettext/streams.php
Erreur de ligne 48 StringReader.
Aller à la ligne 52 et changer
function StringReader ($str='') {
À
function __construct($str='') {
Erreur ligne 84 FileReader
Aller à la ligne 90 et changer
function FileReader($filename) {
à
function __construct($filename) {
Erreur ligne 145 CacheFileReader
Aller à la ligne 146 et changer
function CachedFileReader($filename) {
à
function __construct($filename) {
En utilisant Sudo nano /usr/share/php/php-gettext/gettext.php.
Ligne 36 gettext_reader {error
Je pense que vous obtenez le Gist maintenant, allez à la ligne 101 et changez
function gettext_reader($Reader, $enable_cache = true) {
À
function __construct($Reader, $enable_cache = true) {
Vous pouvez utiliser un autre PPA pour phpmyadmin.Le voici Lien PPA
Sudo add-apt-repository ppa:nijel/phpmyadmin
Sudo apt update
Sudo apt install phpmyadmin
Comme il ne s’agit que d’une solution temporaire ou non optimale, jusqu’à ce que le paquet phpmyadmin dans les dépôts Ubuntu soit reconstruit.
Vous devriez essayer dans votre php.ini de définir error_reporting = ~ E_DEPRECATED, cela supprimera les erreurs de dépréciation. Il devrait être semblable à error_reporting = ~E_DEPRECATED & E_ALL
. S'il vous plaît laissez-moi savoir si cela fonctionne.
Cher @BeniaminPantiru, votre réponse est correcte mais votre solution ne résout pas le problème car vous dites à Apache de ne pas afficher les erreurs de dépréciation plutôt que de les corriger. mais nous pouvons facilement corriger cette erreur en mettant à niveau les mises à jour de sécurité et les packages nécessaires. tapez la commande suivante va résoudre le problème.
Sudo apt-get dist-upgrade
Vous n'avez pas mentionné la version de phpMyAdmin que vous utilisez ou à partir de laquelle il a été installé, mais il semble s'agir de la version packagée Ubuntu 4.5.4.1 ou d'une version d'origine plutôt ancienne et non prise en charge. Quoi qu'il en soit, je pense que votre problème a été signalé (et corrigé) à https://github.com/phpmyadmin/phpmyadmin/issues/11462 - si vous utilisez la version empaquetée d'Ubuntu, les commentaires il suggère que la version PPA de Nijel devrait mieux fonctionner pour vous.
Bien sûr, la réponse acceptée par Beniamin Pantiru est bonne aussi, et si vous utilisez un serveur de production, vous devez réduire le nombre d'avertissements et d'erreurs affichés par PHP de toute façon, comme meilleure pratique standard.
J'avais corrigé en réglant le rapport d'erreur au suivant dans le chemin du fichier php.ini /etc/php/7.0
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
Valeurs communes:
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
La mise à jour du serveur a fonctionné pour moi avec Sudo apt-get dist-upgrade puis le redémarrage d'Apache.
Je pense que ce problème est dû au fait que phpmyadmin n'est pas mis à jour assez souvent.
J'ai eu le même problème. Je voulais juste mentionner cela avant de purger phpmyadmin et de le réinstaller. Essayez de redémarrer Apache. Dans mon cas, c'était l'approche la plus simple et je l'ai d'abord essayée. Je voulais juste que les gens gagnent du temps.
Sudo service Apache2 restart
Jusqu'à ce que cela soit résolu dans la dépendance elle-même (dans votre cas, php-gettext) et que vous ne souhaitiez pas modifier les paramètres globaux PHP afin que vos autres éléments ne soient pas affectés, vous souhaiterez peut-être essayer de il suffit de personnaliser index.php de PHPMyadmin en mettant
error_reporting( ~E_DEPRECATED & E_ALL );
quelque part au début ou en utilisant
php_value error_reporting 24575
dans la directive de configuration .htdocs ou de l'hôte virtuel. Je pense que la dernière option est meilleure.
Le problème est dû à une syntaxe obsolète PHP Class Constructor. Pour résoudre ce problème, exécutez le code suivant sur votre terminal:
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
Un problème survient en cas de disparité entre la version originale de PHP que vous utilisiez précédemment et la version actuelle de votre PHP. Selon votre version installée PHP version, cela devrait suffire.
Sudo apt-get update
Sudo apt-get install phpmyadmin php7.0-gettext php7.0-mbstring -y
Message "Avis de dépréciation" sur la page de connexion de phpMyAdmin
Ok, ce problème a été résolu facilement avec la modification du fichier php.ini:
chemin du fichier: /etc/php/7.0/Apache2/php.ini
Remplacez la valeur error_reporting par:
CODE: SELECT ALL
error_reporting = ~E_DEPRECATED & E_ALL.
Par défaut, il est en position de commentaire, alors décommentez-le et changez-le.
Puis redémarrez Apache:
# systemctl restart Apache2
OU deuxième solution
SI Nécessite alors Installer
Puis redémarrez Apache:
# systemctl restart Apache2
Eh bien, le message "Avis de dépréciation" ne s'affiche plus.
J'ai résolu ce problème différemment en téléchargeant le paquet officiel depuis un Ubuntu plus récent:
https://packages.ubuntu.com/search?keywords=phpmyadmin
Et puis installé le:
Sudo dpkg -i phpmyadmin_4.6.6-5_all.deb
Ainsi, il n'est pas nécessaire d'utiliser des référentiels non officiels et le package sera simplement mis à jour ultérieurement.
Je ne veux pas jouer avec les installations php, donc je viens de redémarrer mon Apache et cela fonctionnait parfaitement pour moi.
"Sudo service Apache2 restart"