Ubuntuサーバーを13.04にアップグレードした後、phpmyadminに到達できなくなりました。ブラウザーは500(内部サーバーエラー)を報告し、error.logに次のように表示されます。
PHPの致命的なエラー:require_once():/usr/share/phpmyadmin/libraries/select_lang.lib.phpの370行目で必要な './libraries/php-gettext/gettext.inc'(include_path = '。')を開けませんでした
他のphpソフトウェアはマシン上で正常に動作し、mysql自体も動作します。 Phpmyadminは正しくインストールされ、dist-upgradeの前に正常に動作しました。私もしましたSudo aptitude reinstall phpmyadmin
しかし、それは役に立ちませんでした。
phpmyadminのバージョン番号は4:3.5.8.1-1です
ここで何が間違っている可能性がありますか?
/ edit:ここまでで、シンボリックリンクが機能していないように見えました。
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
フォルダをバックアップしましたphp-gettext
とcp -rを使用してシンボリックリンクを作成しましたが、機能します。したがって、これは実際にはシンボリックリンクの問題のようです。
これが私の始まりです/etc/phpmyadmin/Apache.conf
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
そのため、すぐにシンボリックリンクをたどることになります。 ubuntuのアップグレード前は、すべてが正常に機能していました。シンボリックリンクの問題は何ですか?
ほかの人のため:
Sudo apt-get install php-gettext
答えかもしれません(特にphp7の場合、これはデフォルトでは含まれていないようです。おそらく梨の拡張機能であるためです)。
(私の場合のように)open_basedir
に/usr/share/php/php-gettext/
がすでに含まれていて、それを以前の回答で機能させることができない場合は、次のようにします。
Sudo rm /usr/share/phpmyadmin/libraries/php-gettext/*
シンボリックリンクを削除します
Sudo ln /usr/share/php/php-gettext/* /usr/share/phpmyadmin/libraries/php-gettext
ハードリンクを作成します
これにより、phpmyadminが再び動作します。なぜそれが13.04で壊れて、Apache.confがそうすべきだと言っているのにシンボリックリンクがたどられないのか、私には謎のままです。
無効にする必要がありました(接頭辞#
)Alias /phpmyadmin /usr/share/phpmyadmin
in /etc/Apache2/conf-available/phpmyadmin.conf
phpmyadminがカスタムvhostファイルを使用してサブドメインでサービスを提供しているため。追加のAlias
では、何らかの理由で機能しませんでした。
PhpMyAdminがNginxサーバーで実行されている場合、php.ini
はさらにパスを追加する必要があります/usr/share/php/php-php-gettext
へopen_basedir
キー。