Après la mise à niveau de mon serveur Ubuntu vers la version 13.04, mon phpmyadmin n'est plus accessible. le navigateur signale 500 (erreur interne du serveur) et dans le fichier error.log, il est indiqué:
Erreur fatale PHP: require_once (): Échec de l'ouverture requise './libraries/php-gettext/gettext.inc' (include_path = '.') Dans /usr/share/phpmyadmin/libraries/select_lang.lib.php sur la ligne 370
Tout autre logiciel php fonctionne bien sur la machine, tout comme mysql. Phpmyadmin est installé correctement et fonctionnait correctement avant la mise à niveau dist. j'ai aussi fait sudo aptitude reinstall phpmyadmin
mais cela n'a pas aidé.
le numéro de version de phpmyadmin est 4: 3.5.8.1-1
des idées, quel pourrait être le problème ici?
/ edit: maintenant j'ai découvert que les liens symboliques ici ne semblent pas fonctionner:
mcnesium@fluse:/usr/share/phpmyadmin/libraries/php-gettext$ ls -l
total 0
lrwxrwxrwx 1 root root 36 Apr 25 03:38 gettext.inc -> ../../../php/php-gettext/gettext.inc
lrwxrwxrwx 1 root root 36 Apr 25 03:38 gettext.php -> ../../../php/php-gettext/gettext.php
lrwxrwxrwx 1 root root 36 Apr 25 03:38 streams.php -> ../../../php/php-gettext/streams.php
j'ai sauvegardé le dossier php-gettext
et cp -r'd le lien symbolique sur, maintenant cela fonctionne. donc cela semble être un problème de lien symbolique.
c'est le début de mon /etc/phpmyadmin/apache.conf
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
il est donc censé suivre immédiatement les liens symboliques. avant la mise à niveau d'ubuntu, tout fonctionnait bien. alors quel est le problème avec les liens symboliques?
/usr/share/php/php-gettext
. Utilisez-vous SELinux / AppArmor?Réponses:
Pour moi, la solution suivante a résolu le problème:
Dans mon fichier de configuration de site Web, j'ai la section suivante:
Le seul changement que j'ai fait depuis l'installation d'Ubuntu 13.04 est d'inclure / usr / share / php / php-gettext / dans open_basedir, et cela a fait l'affaire.
la source
Pour les autres:
pourrait être la réponse (surtout avec php7 car il semble que cela ne soit pas inclus par défaut, peut-être parce que c'est une extension de poire).
la source
php-gettext
paquet (et en ajoutantRequire all granted
àphpmyadmin.conf
) fait fonctionner à nouveau.php-mbstring
ont été nécessaires pour que phpmyadmin fonctionne correctement avec php7Si votre
open_basedir
contient/usr/share/php/php-gettext/
déjà (comme dans mon cas) et que vous ne pouvez pas le faire fonctionner avec les réponses précédentes, faites:supprime les liens symboliques
crée des liens durs
Cela fait fonctionner phpmyadmin à nouveau. Pourquoi il s'est cassé en 13.04 et les liens symboliques ne sont pas suivis alors que le apache.conf dit qu'ils devraient, reste un mystère pour moi.
la source
J'ai dû désactiver (préfixer
#
) l'Alias /phpmyadmin /usr/share/phpmyadmin
entrée/etc/apache2/conf-available/phpmyadmin.conf
car j'utilise un fichier vhost personnalisé pour phpmyadmin pour le servir sur un sous-domaine. Avec l'ajout,Alias
cela n'a pas fonctionné pour une raison quelconque.la source
Si phpMyAdmin s'exécute sur un serveur Nginx, le
php.ini
doit en outre ajouter le chemin/usr/share/php/php-php-gettext
d' accès à laopen_basedir
clé.la source