우분투 업그레이드 후 phpmyadmin symlinks 오류 번호는 4 :

내 우분투 서버를 13.04로 업그레이드 한 후 더 이상 phpmyadmin에 연결할 수 없습니다. 브라우저는 500 (내부 서버 오류)을보고하고 error.log에 다음과 같이 표시됩니다.

PHP 치명적 오류 : require_once () : 370 행의 /usr/share/phpmyadmin/libraries/select_lang.lib.php에서 ‘./libraries/php-gettext/gettext.inc'(include_path=’. ‘)를 여는 데 실패했습니다.

다른 PHP 소프트웨어는 머신에서 잘 작동하며 mysql 자체도 작동합니다. dist-upgrade 전에 Phpmyadmin이 올바르게 설치되어 제대로 작동했습니다. 나도 그랬지만 sudo aptitude reinstall phpmyadmin도움이되지 않았습니다.

phpmyadmin의 버전 번호는 4 : 3.5.8.1-1입니다.

어떤 아이디어라도, 여기서 무엇이 잘못 될 수 있습니까?

/ 편집 : 지금까지 여기에서 심볼릭 링크가 작동하지 않는 것으로 나타났습니다.

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

따라서 바로 심볼릭 링크를 따라야합니다. 우분투 업그레이드 전에 모든 것이 잘 작동했습니다. 심볼릭 링크의 문제는 무엇입니까?



답변

나를 위해 다음 솔루션으로 문제를 해결했습니다.

내 웹 사이트 conf 파일에는 다음 섹션이 있습니다.

<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>

Ubuntu 13.04 설치 이후에 한 유일한 변경 사항은 open_basedir에 / usr / share / php / php-gettext /를 포함시키는 것입니다.


답변

타인을 위해:

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가해야한다고 말하면서 심볼릭 링크는 따르지 않습니다.


답변

phpmyadmin이 하위 도메인에서 서비스하기 위해 사용자 정의 vhost 파일을 사용하고 있기 때문에 in 을 비활성화 (접두사 #)해야 Alias /phpmyadmin /usr/share/phpmyadmin했습니다 /etc/apache2/conf-available/phpmyadmin.conf. 추가 Alias로 어떤 이유로 작동하지 않았습니다.


답변

phpMyAdmin이 Nginx 서버에서 실행되는 경우 키에 php.ini경로 /usr/share/php/php-php-gettext를 추가해야합니다 open_basedir.


답변