[Raspbian] PhpMyAdmin fatal error

Résolu
gautier019 Messages postés 154 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Bonjour,

Cela fait plusieurs jours que je tente d'installer phpmyadmin sur mon Raspberry en vain.

J'utilise un serveur Apache avec PHP5 et MySQL, en ce qui concerne le serveur Apache, j'ai un lien vers un dossier d'un utilisateur "dev" que j'ai créer dans lequel je souhaite mettre mes projets en développement.

Jusque là tout marche bien c'est plutôt génial, sauf qu'une fois que j'installe phpmyadmin je tombe sur l'erreur suivante:

( ! ) Fatal error: Call to undefined function __() in /usr/share/phpmyadmin/libraries/core.lib.php on line 235
Call Stack
# Time Memory Function Location
1 0.0086 196424 {main}( ) .../index.php:0
2 0.0199 289664 require_once( '/usr/share/phpmyadmin/libraries/common.inc.php' ) .../index.php:12
3 0.1847 2315704 PMA_warnMissingExtension( ) .../common.inc.php:284
4 0.1862 2320176 PMA_fatalError( ) .../core.lib.php:308


On connait le fameux "google est mon ami" mais rien de ce que j'ai trouvé fonctionne.
J'ai même déjà demander sans un autre forum sans réponses et je suis un peu à cours de solutions >.>

Je vous remercie d'avance pour l'aide que vous pourriez me fournir.

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    En théorie sous debian (dont érive raspbian a priori) il suffit d'installer le paquet phpmyadmin via apt-get et accéder à http://localhost/phpmyadmin

    Ceci te garantit en outre que toutes les dépendances (php et autre) ont été correctement installées. Il faut t'assurer en outre que le module php d'apache est bien activé.

    Pour ce faire, installe apache, mysql et phpmyadmin (au besoin remplace aptitude par
    apt-get
    ). Note qu'installer phpmyadmin ainsi installe en cascade php et le module apache pour php :

    sudo aptitude update
    sudo aptitude safe-upgrade
    sudo aptitude install apache2 mysql-server phpmyadmin


    Sécurise l'accès à phpmyadmin comme expliqué ici :
    https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-14-04

    Connecte toi à http://localhost/phpmyadmin (au besoin remplace localhost par l'IP du serveur apache).

    Bonne chance
    0
  2. gautier019 Messages postés 154 Statut Membre 17
     
    Bonjour,

    J'ai suivis ce que vous venez de me dire.
    J'avais déjà installer les paquets mysql-server et phpmyadmin, je les ai donc désinstaller et purger pour éviter au mieux les problèmes puis j'ai exécuter les commandes suivantes:

    sudo aptitude update
    sudo aptitude safe-upgrade
    sudo aptitude install apache2 mysql-server phpmyadmin


    J'ai modifié mon fichier /etc/php/apache2/php.ini pour pouvoir afficher les erreurs et réactiver xDebug, je retombe sur l'erreur suivante lorsque je tente d'accéder à "http://192.168.0.16/phpmyadmin/":

    ( ! ) Fatal error: Call to undefined function __() in /usr/share/phpmyadmin/libraries/core.lib.php on line 235
    Call Stack
    # Time Memory Function Location
    1 0.0045 195160 {main}( ) .../index.php:0
    2 0.0102 288400 require_once( '/usr/share/phpmyadmin/libraries/common.inc.php' ) .../index.php:12
    3 0.1395 2314384 PMA_warnMissingExtension( ) .../common.inc.php:284
    4 0.1410 2318864 PMA_fatalError( ) .../core.lib.php:308


    Screen: http://puu.sh/rJElV/3cf0ddc7d1.png

    Cependant je pense avoir trouver le problème mais ne sais pas comment le régler:

    J'ai été voir dans les fichiers de phpmyadmi, il me manquerait la fonction "json_encode":

    http://puu.sh/rJEub/b8f1188fda.png
    (En lien avec:
    3	0.1648	2314088	PMA_warnMissingExtension( )	.../common.inc.php:284
    )

    Cependant le paquet "php5-json" est bien installé et je ne sais donc pas quoi faire :/
    0
    1. gautier019 Messages postés 154 Statut Membre 17
       
      Edit: J'ai réussi à activer l'extension json de php5, et il ne me manque plus qu'à installer mysqli
      0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Juste par curiosité qu'as tu fait pour activé php5-json ? Personnellement je n'ai pas eu ça a faire pour faire marcher phpmyadmin sous debian jessie, mais je suis en php7.

    Voici les paquets installés sur mon serveur (seul un sous ensemble est nécessaire pour
    phpmyadmin
    )

    (mando@...) (~) $ dpkg -l | grep php | cut -d" " -f3
    libapache2-mod-php7.0
    libphp-phpmailer
    php
    php-bz2
    php-common
    php-gd
    php-getid3
    php-gettext
    php-ldap
    php-mbstring
    php-mysql
    php-pear
    php-php-gettext
    php-phpseclib
    php-tcpdf
    php-xml
    php-zip
    php7.0
    php7.0-bz2
    php7.0-cli
    php7.0-common
    php7.0-gd
    php7.0-json
    php7.0-ldap
    php7.0-mbstring
    php7.0-mysql
    php7.0-opcache
    php7.0-readline
    php7.0-xml
    php7.0-zip
    phpldapadmin
    phpmyadmin


    Ensuite pour mysqli peux-tu être plus clair sur ce que tu veux faire ? Car si j'ai bien compris ce que tu veux c'est installé ce qui chez moi s'appelle
    php7.0-mysql
    . Note que si phpmyadmin en théorie il est automatiquement installé également.

    En d'autres termes je suspecte que tu rencontres des difficultés simplement parce que tu n'as pas pris une voie classique.

    Bonne chance
    0
    1. gautier019 Messages postés 154 Statut Membre 17
       
      Il te suffit de faire la commande suivante :

      sudo php7enmod json

      ou peut-être, si le précédent ne marche pas
      sudo php7.0enmod json


      (Pour ma part avec php5 c'est php5enmod)

      Cela active le module json de php7.
      Cependant si tu as une erreur il te faut aller activer le module dans la liste des modules php.

      Pour cela tu te rend dans ton dossier /etc/php7/mods-available (toujours php5 pour moi)
      Et tu crée le fichier "json.ini" contenant:

      extension = json.so


      Puis ensuite tu peux aller activer le module et redémarrer ton serveur apache

      Pour mysqli c'est parce que phpmyadmin m'a demandé d'activer mysqli (un messa d'erreur me l'a indiquer) j'ai donc fais la même manip mais avec le module "mysqli".
      Puis ensuite comme j'utilise pdo sur mon serveur, j'ai fais la même chose avec les modules "pdo" et "pdo_mysql", le dernier étant obligatoire pour utiliser le driver mysql avec pdo.
      0
    2. gautier019 Messages postés 154 Statut Membre 17
       
      PS: Par rapport à l'activation des modules, php7 doit surement les prendre en charge de base tandis qu'avec php5 il faut le faire manuellement, ce qui expliquerai que tu n'ai pas eu à faire ces manipulations relativement chiantes et répétitives ^^
      0
    3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
       
      Merci pour ton retour.

      Possible, de toute façon php7 c'est l'avenir, non ? :-)

      À noter que le lien que j'ai mentionné précédemment ( https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-14-04 ) parle effectivement de
      php5enmod
      .

      En tout cas sur la machine dont je parlais (celle avec php7) il n'y a que la commande
      phpenmod
      , et je ne sais plus si j'ai eu à le faire...

      Bonne continuation
      0