Nach dem Upgrade meines Ubuntu-Servers auf 13.04 ist mein phpmyadmin nicht mehr erreichbar. Der Browser meldet 500 (interner Serverfehler) und im error.log heißt es:
Schwerwiegender PHP-Fehler: require_once (): Fehler beim Öffnen von './libraries/php-gettext/gettext.inc' (include_path = '.') In /usr/share/phpmyadmin/libraries/select_lang.lib.php in Zeile 370
Jede andere PHP-Software funktioniert einwandfrei auf dem Computer und auch MySQL. Phpmyadmin ist korrekt installiert und hat vor dem dist-upgrade einwandfrei funktioniert. Ich habe es auch getan, sudo aptitude reinstall phpmyadmin
aber das hat nicht geholfen.
Die Versionsnummer von phpmyadmin ist 4: 3.5.8.1-1
Irgendwelche Ideen, was könnte hier falsch sein?
/ edit: inzwischen habe ich herausgefunden, dass die symlinks hier nicht zu funktionieren scheinen:
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
ich php-gettext
habe den ordner gesichert und cp -r hat den symbolisierten überspielt, jetzt funktioniert es. das scheint also tatsächlich ein symlink-problem zu sein.
das ist der anfang von meinem /etc/phpmyadmin/apache.conf
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
es soll also sofort symlinks folgen. vor dem ubuntu upgrade hat alles prima geklappt. Was ist mit den Symlinks los?
/usr/share/php/php-gettext
. Verwenden Sie SELinux / AppArmor?Antworten:
Für mich hat die folgende Lösung das Problem gelöst:
In meiner Website-Conf-Datei habe ich den folgenden Abschnitt:
Die einzige Änderung, die ich seit der Installation von Ubuntu 13.04 vorgenommen habe, ist / usr / share / php / php-gettext / im open_basedir, und das hat den Trick getan.
quelle
Für andere:
könnte die antwort sein (besonders mit php7, da es so scheint, als ob dies nicht standardmäßig enthalten ist, vielleicht weil es eine birnenerweiterung ist).
quelle
php-gettext
Pakets (und das HinzufügenRequire all granted
zuphpmyadmin.conf
) funktionierte es wieder.php-mbstring
mussten phpmyadmin dazu bringen, mit php7Wenn Ihre bereits
open_basedir
enthält/usr/share/php/php-gettext/
(wie in meinem Fall) und Sie können nicht mit den vorherigen Antworten arbeiten, dann tun Sie Folgendes:Entfernt die symbolischen Verknüpfungen
schafft harte Verbindungen
Dadurch funktioniert phpmyadmin wieder. Warum es in 13.04 brach und die symbolischen Links nicht befolgt werden, während die apache.conf sagt, dass sie sollten, bleibt mir ein Rätsel.
quelle
Ich musste disable (Präfix
#
) derAlias /phpmyadmin /usr/share/phpmyadmin
in/etc/apache2/conf-available/phpmyadmin.conf
da ich eine benutzerdefinierten vhost - Datei für phpMyAdmin es auf einer Sub - Domain zu dienen. Mit dem Zusatz hatAlias
es aus irgendeinem Grund nicht geklappt.quelle
Wenn phpMyAdmin auf einem Nginx-Server läuft,
php.ini
muss der Pfad zusätzlich/usr/share/php/php-php-gettext
zumopen_basedir
Schlüssel hinzugefügt werden .quelle