[Raspbian] PhpMyAdmin fatal error

Résolu/Fermé
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 - 11 oct. 2016 à 06:40
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 - 17 oct. 2016 à 13:44
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

mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
Modifié par mamiemando le 14/10/2016 à 20:35
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
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 17
15 oct. 2016 à 12:29
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
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 17
15 oct. 2016 à 12:46
Edit: J'ai réussi à activer l'extension json de php5, et il ne me manque plus qu'à installer mysqli
0
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
15 oct. 2016 à 21:02
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
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 17
16 oct. 2016 à 11:32
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
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 17
16 oct. 2016 à 11:34
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
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
Modifié par mamiemando le 17/10/2016 à 13:44
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