PHP 7 avec phpmyadmin donne beaucoup d’avis de dépréciation

J’ai Ubuntu 16.04 LTS en cours d’exécution avec PHP7 et phpmyadmin installé. Cependant, je reçois beaucoup d’avis de dépréciation comme:

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; SsortingngReader 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 l’ai résolu avec une réinstallation simple de phpmyadmin et de ses dépendances. Exécutez les commandes suivantes:

     sudo apt-get remove --purge phpmyadmin php-gettext php-mbssortingng -y sudo apt-get autoremove -y sudo apt-get update sudo apt-get install phpmyadmin php-gettext php-mbssortingng -y 

    Une fois réinstallé, vous devriez être comme neuf!

    Vous pouvez utiliser un autre PPA pour phpmyadmin.Il s’agit d’un 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 optimale, jusqu’à ce que le paquetage de phpmyadmin dans ubuntu repos soit reconstruit.

    La façon dont j’ai résolu ce problème était en suivant les instructions de askubuntu lors de l’ erreur d’avis de dépréciation 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.

    À partir de ce lien, voici les modifications à effectuer (si vous avez ubuntu 16.04):

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

    Ligne 48 Erreur SsortingngReader.

    Passez à la ligne 52 et changez

     function SsortingngReader ($str='') { 

    À

     function __construct($str='') { 

    Erreur de ligne 84 FileReader

    Allez à la ligne 90 et changez

     function FileReader($filename) { 

    à

     function __construct($filename) { 

    Erreur de ligne 145 CacheFileReader

    Passez à la ligne 146 et changez

     function CachedFileReader($filename) { 

    à

     function __construct($filename) { 

    Utilisation de sudo nano /usr/share/php/php-gettext/gettext.php.

    Ligne 36 gettext_reader {erreur

    Je pense que vous obtenez l’essentiel maintenant, allez à la ligne 101 et changez

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

    À

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

    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 similaire à 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 corriger les erreurs. 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 pour résoudre le problème. Je vous remercie

    sudo apt-get dist-upgrade

    Vous n’avez pas mentionné la version de phpMyAdmin que vous utilisez ou celle de son installation, mais il semble que ce soit la version 4.5.4.1 de Ubuntu ou une version plutôt ancienne et non prise en charge de la source. Quoi qu’il en soit, je pense que votre problème a été signalé (et corrigé) à l’ adresse https://github.com/phpmyadmin/phpmyadmin/issues/11462 – si vous utilisez la version empaquetée d’Ubuntu, les commentaires suggèrent que la version PPA de Nijel devrait mieux fonctionner pour vous.

    Bien sûr, la réponse acceptée de Beniamin Pantiru est également bonne, et si vous utilisez un serveur de production, vous devriez réduire le nombre d’avertissements et d’erreurs affichés par PHP en tant que meilleure pratique standard.

    J’avais corrigé en définissant des rapports d’erreur à l’adresse suivante dans le fichier php.ini chemin /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 

    Mettre à jour le serveur a fonctionné pour moi avec sudo apt-get dist-upgrade et ensuite redémarrer apache.

    Je pense que ce problème est causé par la non mise à jour assez fréquente de phpmyadmin.

    Jusqu’à ce qu’il soit résolu dans la dépendance elle-même (dans votre cas, le php-gettext) et que vous ne voulez pas changer les parameters PHP globaux pour que vos autres éléments ne soient pas affectés, vous pouvez simplement personnaliser l’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 d’hôte virtuel ou de .htdocs. Je pense que la dernière option est meilleure.

    J’ai résolu ce problème différemment en téléchargeant le paquet officiel d’un nouveau Ubuntu:

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

    Et ensuite installé:

     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.

    Le problème est dû à la syntaxe obsolète du constructeur de classe PHP. Pour résoudre ce problème, exécutez le code suivant sur votre terminal:

     sed -ri.bak 's:function SsortingngReader.*: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 

    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 essayée en premier. Je voulais juste que les gens gagnent du temps.

      sudo service apache2 restart 

    Une dernière chose pour la meilleure réponse; besoin d’append

     Include /etc/phpmyadmin/apache.conf 

    à

     /etc/apache2/apache2.conf 

    et redémarrez Apache:

     /etc/init.d/apache2 restart 

    Message “Avis de déchéance” sur la page de connexion de phpMyAdmin

    Ok, ce problème a été résolu facilement en éditant le fichier php.ini:

    chemin du fichier: /etc/php/7.0/apache2/php.ini

    Modifiez la valeur error_reporting en:

     CODE: SELECT ALL error_reporting = ~E_DEPRECATED & E_ALL. 

    Par défaut, il est en position de commentaire, alors décommentez-le et modifiez-le.

    Puis redémarrez Apache:

     # systemctl restart apache2 

    OU deuxième solution

    apt-get purge phpmyadmin

    apt-get install phpmyadmin

    SI nécessaire, installez ensuite

    apt-get install php7.0-mbssortingng

    Puis redémarrez Apache:

     # systemctl restart apache2 

    Eh bien, le message “Avis de déchéance” ne s’affiche plus.

    enfin j’ai résolu ce problème de manière permanente.

    Trouvez votre fichier php.ini sur votre serveur. Il devrait être dans le dossier /etc/php/7.0/apache2

    l’ouvrir avec nano

     nano /etc/php/7.0/apache2/php.ini 

    Rechercher (ctrl + w) upload_max_filesize = 2M (par défaut) dans le fichier php.ini

    changer la valeur par défaut à 50M ou 100M ou 20M comme vous le souhaitez.

    Enregistrer et redémarrer le service apache2

     service apache2 restart 

    et s’il vous plaît dites-moi vos satisfactions 🙂

    redémarrer apache

    par exemple

    sudo service apache2 redémarrer

    le redémarrage du serveur m’a aidé

     shutdown -r now