내 우분투 서버를 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
.