webdevqa.jp.net

Ubuntuアップグレード後のphpmyadmin symlinksエラー

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:ここまでで、シンボリックリンクが機能していないように見えました。

[email protected]:/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のアップグレード前は、すべてが正常に機能していました。シンボリックリンクの問題は何ですか?

15
mcnesium

ほかの人のため:

Sudo apt-get install php-gettext

答えかもしれません(特にphp7の場合、これはデフォルトでは含まれていないようです。おそらく梨の拡張機能であるためです)。

23
twicejr

(私の場合のように)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がそうすべきだと言っているのにシンボリックリンクがたどられないのか、私には謎のままです。

5
user221931

無効にする必要がありました(接頭辞#Alias /phpmyadmin /usr/share/phpmyadmin in /etc/Apache2/conf-available/phpmyadmin.conf phpmyadminがカスタムvhostファイルを使用してサブドメインでサービスを提供しているため。追加のAliasでは、何らかの理由で機能しませんでした。

0
Lorenz Haase

PhpMyAdminがNginxサーバーで実行されている場合、php.iniはさらにパスを追加する必要があります/usr/share/php/php-php-gettextopen_basedirキー。

0
luckyluke