Después de la actualización de mi servidor ubuntu a 13.04, ya no se puede acceder a mi phpmyadmin. el navegador informa 500 (error interno del servidor) y en el error.log dice:
Error fatal de PHP: require_once (): Se requiere una apertura fallida './libraries/php-gettext/gettext.inc' (include_path = '.') En /usr/share/phpmyadmin/libraries/select_lang.lib.php en la línea 370
Cualquier otro software php funciona bien en la máquina y también lo hace mysql. Phpmyadmin está instalado correctamente y funcionó bien antes de la actualización dist. También lo hice sudo aptitude reinstall phpmyadmin
pero eso no ayudó.
El número de versión de phpmyadmin es 4: 3.5.8.1-1
alguna idea, ¿qué podría estar mal aquí?
/ edit: ahora descubrí que los enlaces simbólicos aquí no parecen funcionar:
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
Hice una copia de seguridad de la carpeta y cp -r'd el enlace simbólico, ahora funciona. así que esto realmente parece ser un problema de enlace simbólico.
este es el comienzo de mi /etc/phpmyadmin/apache.conf
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
entonces se supone que debe seguir los enlaces simbólicos de inmediato. antes de la actualización de ubuntu todo funcionó bien. Entonces, ¿qué pasa con los enlaces simbólicos?
/usr/share/php/php-gettext
. ¿Estás usando SELinux / AppArmor?Respuestas:
Para mí, la siguiente solución resolvió el problema:
En el archivo conf de mi sitio web, tengo la siguiente sección:
El único cambio que he hecho desde la instalación de Ubuntu 13.04 es incluir / usr / share / php / php-gettext / en open_basedir, y eso fue el truco.
fuente
Para otros:
podría ser la respuesta (especialmente con php7 ya que parece que esto no está incluido por defecto, tal vez porque es una extensión de pera).
fuente
php-gettext
paquete (y la adición deRequire all granted
aphpmyadmin.conf
) hace que funcione de nuevo.php-mbstring
se requirió que phpmyadmin funcionara bien para mí con php7Si ya
open_basedir
contiene/usr/share/php/php-gettext/
(como en mi caso) y no puede hacer que funcione con las respuestas anteriores, haga lo siguiente:elimina los enlaces simbólicos
crea enlaces duros
Esto hace que phpmyadmin vuelva a funcionar. Por qué se rompió en 13.04 y los enlaces simbólicos no se siguen mientras apache.conf dice que deberían hacerlo, sigue siendo un misterio para mí.
fuente
Tuve que deshabilitar (prefijo con
#
)Alias /phpmyadmin /usr/share/phpmyadmin
in/etc/apache2/conf-available/phpmyadmin.conf
ya que estoy usando un archivo vhost personalizado para phpmyadmin para servirlo en un subdominio. Con el adicionalAlias
no funcionó por alguna razón.fuente
Si phpMyAdmin se ejecuta en un servidor Nginx, el
php.ini
adicional necesita agregar la ruta/usr/share/php/php-php-gettext
a laopen_basedir
clave.fuente