Lỗi symlink phpmyadmin sau khi nâng cấp Ubuntu


15

Sau khi nâng cấp máy chủ ubfox của tôi lên 13.04, phpmyadmin của tôi không còn truy cập được nữa. trình duyệt báo cáo 500 (lỗi máy chủ nội bộ) và trong lỗi. Làm cho nó báo:

Lỗi nghiêm trọng về PHP

Bất kỳ phần mềm php nào khác đều hoạt động tốt trên máy và bản thân mysql cũng vậy. Phpmyadmin được cài đặt chính xác và hoạt động tốt trước khi nâng cấp. tôi cũng đã làm sudo aptitude reinstall phpmyadminnhưng điều đó không giúp được gì.

số phiên bản của phpmyadmin là 4: 3.5.8.1-1

bất kỳ ý tưởng, những gì có thể sai ở đây?

/ chỉnh sửa: đến bây giờ tôi phát hiện ra rằng các liên kết tượng trưng ở đây dường như không hoạt động:

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

Tôi đã sao lưu thư mục php-gettextvà cp -r'd symlinked qua, bây giờ nó hoạt động. Vì vậy, điều này thực sự có vẻ là một vấn đề liên kết.

đây là khởi đầu của tôi /etc/phpmyadmin/apache.conf

# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php

vì vậy nó được cho là theo symlink ngay lập tức. Trước khi nâng cấp Ubuntu, mọi thứ đều hoạt động tốt. Vì vậy, vấn đề với các liên kết là gì?


Kiểm tra các quyền dưới /usr/share/php/php-gettext. Bạn đang sử dụng SELinux / AppArmor?
dawud

Câu trả lời:


7

Đối với tôi giải pháp sau đây đã giải quyết vấn đề:

Trong trang web conf file của tôi, tôi có phần sau:

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

Thay đổi duy nhất tôi đã thực hiện kể từ khi cài đặt Ubuntu 13.04 là bao gồm / usr / share / php / php-gettext / trong open_basingir và điều đó đã tạo nên mánh khóe.


23

Cho người khác:

sudo apt-get install php-gettext

có thể là câu trả lời (đặc biệt là với php7 vì có vẻ như điều này không được bao gồm theo mặc định, có thể vì đây là phần mở rộng của quả lê).


Tôi đã gặp lỗi sau khi thực hiện cài đặt mới Ubuntu 16.04. Nó hoạt động sau khi nâng cấp 15.10 lên 16.04, nhưng tôi phải cài đặt mới do các vấn đề khác. Hoàn toàn cài đặt php-gettextgói (và thêm Require all grantedvào phpmyadmin.conf) làm cho nó hoạt động trở lại.
bovender

1
đây là câu trả lời thực tế
tika

Cảm ơn vì điều đó; Tôi đã không nghĩ về điều đó; điều này và php-mbstringđược yêu cầu để phpmyadmin hoạt động đúng với tôi với php7
jhaagsma

1
Đó là kỳ quặc, vì php-gettext là một sự phụ thuộc của gói phpMyAdmin: packages.ubuntu.com/xenial/phpmyadmin vì vậy tôi không chắc chắn lý do tại sao nó không phải là đã có.
Sam Wilson

Trước tiên hãy cài đặt LAMP, sau đó là phpmyadmin, có thể đó là một phần của vấn đề
hai lần vào

5

Nếu bạn đã open_basedir/usr/share/php/php-gettext/sẵn (như trong trường hợp của tôi) và bạn không thể làm cho nó hoạt động với các câu trả lời trước thì hãy làm:

sudo rm /usr/share/phpmyadmin/libraries/php-gettext/*

xóa các liên kết tượng trưng

sudo ln /usr/share/php/php-gettext/* /usr/share/phpmyadmin/libraries/php-gettext

tạo liên kết cứng

Điều này làm cho phpmyadmin hoạt động trở lại. Tại sao nó bị phá vỡ vào ngày 13.04 và các liên kết tượng trưng không được theo dõi trong khi apache.conf nói rằng chúng nên, vẫn là một bí ẩn đối với tôi.


Cảm ơn, điều đó đã làm nó. Dòng open_basingir đã chứa thư mục php-gettext nên việc cài đặt lại các liên kết đó là cần thiết.
Karma Fusebox

0

Tôi đã phải vô hiệu hóa (tiền tố với #) những Alias /phpmyadmin /usr/share/phpmyadminnăm /etc/apache2/conf-available/phpmyadmin.confkể từ khi tôi đang sử dụng một file vhost tùy chỉnh cho phpmyadmin để phục vụ nó trên một tên miền phụ. Với phần bổ sung, Aliasnó không hoạt động vì một số lý do.


0

Nếu phpMyAdmin chạy trên máy chủ Nginx, thì php.inicần thêm đường dẫn /usr/share/php/php-php-gettextvào open_basedirkhóa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.