Quand je veux lancer phpMyAdmin sur mon navigateur, cela me montre cette erreur:
Fatal error: Call to undefined function __() in /usr/share/phpMyAdmin/libraries/core.lib.php on line 229
Call Stack
# Time Memory Function Location
1 0.0010 344984 {main}( ) ../index.php:0
2 0.0026 502720 require_once( '/usr/share/phpMyAdmin/libraries/common.inc.php' ) ../index.php:12
3 0.0285 3836408 require( '/usr/share/phpMyAdmin/libraries/session.inc.php' ) ../common.inc.php:344
4 0.0288 3846488 PMA_fatalError( ) ../session.inc.php:97
J'utilise Fedora 17 avec PHP 5.5.7.
Une idée pour résoudre le problème?
Vérifiez que votre répertoire de session est accessible en écriture par le processus du serveur Web.
La meilleure façon de le faire est de créer votre propre fichier phpinfo; Dans n'importe quel dossier accessible sur le Web, créez un fichier (vous pouvez l'appeler test.php ou phpinfo.php ou ce que vous voulez) avec le contenu suivant:
<?php
phpinfo();
?>
Ouvrez ce fichier dans votre navigateur (http://localhost/test.php
ou similaire) et cherchez la ligne session.save_path
. C'est votre dossier de session. assurez-vous que les autorisations sont appropriées et voyez si cela aide.
Plus d'informations d'un fil similaire.
Je viens de mettre en place CentOS 7 et d’essayer phpmyadmin et je rencontrais le même problème. J'espère que cela t'aides
J'ai défini les autorisations appropriées sur le répertoire des sessions et redémarré Apache, j'ai même désactivé SELinux mais la même erreur s'est affichée.
Je n'ai pas eu le php-mbstring installé - une fois que j'ai fait cela, cela a fonctionné
Sudo yum install php-mbstring
Vérifiez la configuration requise pour phpmyadmin
Pour les utilisateurs de Debian: (j'ai fini dans ce fil en tant qu'utilisateur de Debian) J'ai lu la réponse de @naveen et il est apparu que je n'avais pas installé php-mbstring, son installation a résolu mon problème:
Sudo apt-get install php-mbstring
Presque comme d'autres utilisateurs l'avaient dit ... Je tourne sous Debian 8 avec PHP7 et j'ai rencontré le problème, il suffit d'installer;
Sudo apt-get install php7.0-mbstring
Suivi en redémarrant le service Apache;
Sudo service Apache2 restart
Et puis phpmyadmin a bien fonctionné.
Dans mon cas, avec php-fpm sous CentOS 7 , c’est la raison pour laquelle @Issac a souligné, et vient de résoudre avec:
mkdir -p /var/lib/php/session
chown -R Apache:apache /var/lib/php
Alors résolu.
Créez simplement le dossier de session, je pense que cette solution directe peut fonctionner sur ce cas spécifique.
AVERTISSEMENT: Avant cela, vérifiez si le dossier
/var/lib/php
existe et quel utilisateur est utilisé pour le processusphp-fpm
. Si vous n'utilisez personne pour le processus php-fpm, la permission 777 pour le/var/lib/php/session
peut bien fonctionner.
Si vous utilisez un autre utilisateur pour une raison quelconque, par exemple, si vous avez httpd-itk
(RHEL/CentOS/Fedora) ou Apache2-mpm-itk
(Debian/Ubuntu) et que votre utilisateur principal n’est pas Apache
ou www-data
, faites alors:
Sudo usermod -a -G Apache youruser
ou
Sudo usermod -a -G www-data youruser
en fonction de votre distribution, phpMyAdmin fonctionnera.
Vérifiez si vos extensions PHP sont chargées. Lorsque les extensions mysql ou mysqli ne parviennent pas à se charger, le résultat sera exactement cette erreur (ce qui est assez déroutant). Pour vérifier que vos extensions se chargent correctement, jetez un coup d'œil à la sortie de la fonction PHP phpinfo () - toutes les extensions chargées y sont listées.
Dans mon cas, cette erreur était intermittente et j'avais eu phpMyAdmin installé et fonctionnant correctement pendant des années. En lisant les réponses ici, il semblait que l'erreur puisse avoir quelque chose à voir avec les sessions.
Sous Ubuntu 16.04, les sessions PHP se trouvent dans: /var/lib/php/sessions
.__ et ressemblent à:
$ Sudo ls -al /var/lib/php/sessions/
total 128
drwx-wx-wt 2 root root 73728 Mar 4 14:09 .
drwxr-xr-x 4 root root 4096 Mar 8 2017 ..
-rw------- 1 www-data www-data 67 Mar 4 14:05 sess_dvg6vo1k1s1c0353rjk09g9vu1
-rw------- 1 www-data www-data 67 Mar 4 13:49 sess_e4ha0gl4f7gukku1o2uc4h5rs2
-rw------- 1 www-data www-data 67 Mar 4 14:05 sess_qhbve6k4a7svu6pk0lk568jgt0
-rw------- 1 www-data www-data 67 Mar 4 13:49 sess_sh48e898i7ad14oidsph08in10
-rw------- 1 www-data www-data 30044 Mar 4 14:04 sess_uvumc2341dvtfikl27kpile46pmfbon1
(Ce dernier dans la liste m'a semblé "drôle".)
J'ai d'abord essayé de redémarrer Apache2
mais les sessions y ont apparemment survécu. Alors je les ai juste supprimés. (Je ne connais pas d'autre moyen de les effacer.) Lors de l'actualisation du navigateur, la connexion phpMyAdmin affichée et tout fonctionne comme prévu.