phpmyadmin symlinks error after ubuntu upgrade
Solution 1
For me the following solution solved the problem:
In my website conf file, I have the following section:
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/
</IfModule>
The only change I've made since Ubuntu 13.04 install is include /usr/share/php/php-gettext/ in the open_basedir, and that did the trick.
Solution 2
For others:
sudo apt-get install php-gettext
might be the answer (especially with php7 as it seems that this is not included by default, maybe because it is a pear extension).
Solution 3
If your open_basedir
contains /usr/share/php/php-gettext/
already (as in my case) and you can't get it to work with the previous answers then do:
sudo rm /usr/share/phpmyadmin/libraries/php-gettext/*
removes the symbolic links
sudo ln /usr/share/php/php-gettext/* /usr/share/phpmyadmin/libraries/php-gettext
creates hard links
This makes phpmyadmin work again. Why it broke in 13.04 and the symbolic links aren't followed while the apache.conf says they should, remains a mystery to me.
mcnesium
Updated on September 18, 2022Comments
-
mcnesium over 1 year
After the upgrade of my ubuntu server to 13.04 my phpmyadmin is no longer reachable. the browser reports 500 (internal server error) and in the error.log it says:
PHP Fatal error: require_once(): Failed opening required './libraries/php-gettext/gettext.inc' (include_path='.') in /usr/share/phpmyadmin/libraries/select_lang.lib.php on line 370
Any other php software works fine on the machine and so does mysql itself. Phpmyadmin is installed correctly and worked fine before the dist-upgrade. i also did
sudo aptitude reinstall phpmyadmin
but that did not help.the version number of phpmyadmin is 4:3.5.8.1-1
any ideas, what could be wrong here?
/edit: by now i found out, that the symlinks here do not seem to work:
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
i backed up the folder
php-gettext
and cp -r'd the symlinked one over, now it works. so this actually seems to be a symlink-problem.this is the beginning of my
/etc/phpmyadmin/apache.conf
# phpMyAdmin default Apache configuration Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php
so it is supposed to follow symlinks right away. before the ubuntu upgrade everything worked fine. so whats the matter with the symlinks?
-
dawud about 11 yearsCheck the permissions under
/usr/share/php/php-gettext
. Are you using SELinux/AppArmor?
-
-
Karma Fusebox over 10 yearsThanks, that did it. The open_basedir line already contained the php-gettext directory so reinstalling those links was necessary.
-
bovender about 8 yearsI got the error after performing a fresh install of Ubuntu 16.04. It worked after upgrading 15.10 to 16.04, but I had to do a fresh install due to other problems. Explicitly installing the
php-gettext
package (and addingRequire all granted
tophpmyadmin.conf
) made it work again. -
tika about 8 yearsthis is the actual answer!
-
jhaagsma about 8 yearsThanks for that; I didn't think of that; this and
php-mbstring
were required to get phpmyadmin to work right for me with php7 -
Sam Wilson almost 8 yearsIt's odd, because php-gettext is a dependency of the phpmyadmin package: packages.ubuntu.com/xenial/phpmyadmin so I'm not sure why it's not already there.
-
twicejr almost 8 yearsInstall LAMP first, then phpmyadmin, maybe that is part of the problem