После обновления моего сервера Ubuntu до 13.04 мой phpmyadmin больше не доступен. браузер сообщает 500 (внутренняя ошибка сервера) и в error.log пишет:
Неустранимая ошибка PHP: require_once (): не удалось открыть обязательный файл './libraries/php-gettext/gettext.inc' (include_path = '.') В /usr/share/phpmyadmin/libraries/select_lang.lib.php в строке 370
Любое другое программное обеспечение 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'd символическую ссылку, теперь она работает. так что на самом деле это проблема с символической ссылкой.
это начало моего /etc/phpmyadmin/apache.conf
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
поэтому он должен сразу следовать символическим ссылкам. до обновления убунту все работало нормально. так что случилось с символическими ссылками?
/usr/share/php/php-gettext
. Вы используете SELinux / AppArmor?Ответы:
Для меня следующее решение решило проблему:
В моем файле conf сайта есть следующий раздел:
Единственное изменение, которое я сделал после установки Ubuntu 13.04, это включить / usr / share / php / php-gettext / в open_basedir, и это помогло.
источник
Для других:
может быть ответом (особенно с php7, так как кажется, что это не включено по умолчанию, возможно, потому что это расширение груши).
источник
php-gettext
пакета (и добавлениеRequire all granted
вphpmyadmin.conf
) заставила его снова работать.php-mbstring
было необходимо, чтобы phpmyadmin работал правильно для меня с php7Если ваш
open_basedir
содержит/usr/share/php/php-gettext/
уже (как в моем случае) , и вы не можете получить его на работу с предыдущими ответами , то сделать:удаляет символические ссылки
создает жесткие ссылки
Это заставляет phpmyadmin работать снова. Почему он сломался в 13.04, а символические ссылки не выполняются, в то время как apache.conf говорит, что должен, остается для меня загадкой.
источник
Я должен был отключить (префикс
#
)Alias /phpmyadmin /usr/share/phpmyadmin
в/etc/apache2/conf-available/phpmyadmin.conf
поскольку я использую пользовательский файл для PHPMyAdmin виртуального хоста , чтобы служить ей на подобласти. С дополнительнымAlias
он почему-то не работал.источник
Если phpMyAdmin работает на сервере Nginx,
php.ini
дополнительно необходимо добавить путь/usr/share/php/php-php-gettext
кopen_basedir
ключу.источник