Ubuntu yükseltmesinden sonra phpmyadmin simgeleri bağlantısı hatası


15

Ubuntu sunucumun 13.04 sürümüne yükseltilmesinden sonra phpmyadmin'e artık ulaşılamıyor. tarayıcı 500'ü (dahili sunucu hatası) bildirir ve error.log dosyasında şöyle yazar:

PHP Önemli hata: requir_once (): 370 satırındaki /usr/share/phpmyadmin/libraries/selp_gettext/gettext.inc '(include_path ='. ') Açılma başarısız.

Başka herhangi bir php yazılımı makinede iyi çalışır ve böylece mysql kendisi. Phpmyadmin doğru bir şekilde yüklendi ve dağıtımdan önce iyi çalıştı. Ben de yaptım sudo aptitude reinstall phpmyadminama bu yardımcı olmadı.

phpmyadmin'in sürüm numarası 4: 3.5.8.1-1

herhangi bir fikir, burada ne yanlış olabilir?

/ edit: şimdiye kadar öğrendim, burada semboller işe yaramaz gibi görünüyor:

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 klasörü yedekledi php-gettextve cp-symlinked bir üzerinde r'd, şimdi çalışıyor. bu aslında bir sembolik sorun gibi görünüyor.

bu benim başlangıcım /etc/phpmyadmin/apache.conf

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

bu yüzden sembolik bağlantıları hemen takip etmesi gerekiyor. Ubuntu yükseltmeden önce her şey iyi çalıştı. Simgelerin sorunu nedir?


Altındaki izinleri kontrol edin /usr/share/php/php-gettext. SELinux / AppArmor kullanıyor musunuz?
DAWUD

Yanıtlar:


7

Benim için aşağıdaki çözüm sorunu çözdü:

Web sitem conf dosyasında aşağıdaki bölüm var:

<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 kurulumundan bu yana yaptığım tek değişiklik, open_basedir içindeki / usr / share / php / php-gettext / 'dir ve bu da işe yaradı.


23

Başkaları için:

sudo apt-get install php-gettext

cevap olabilir (özellikle php7 ile bu varsayılan olarak dahil değildir, belki bir armut uzantısı olduğu için).


Yeni bir Ubuntu 16.04 yüklemesi yaptıktan sonra hatayı aldım. 15.10'dan 16.04'e yükselttikten sonra çalıştı, ancak diğer sorunlar nedeniyle yeni bir kurulum yapmak zorunda kaldım. Açıkça yükleme php-gettextpaketini (eklenirken Require all grantediçin phpmyadmin.conf) yeniden çalışması yaptı.
bovender

1
asıl cevap bu!
tika

Bunun için teşekkürler; Bunu düşünmedim; Bu ve php-mbstringphp7 ile benim için doğru çalışmak phpmyadmin almak için gerekli
jhaagsma

1
Bu tuhaf, çünkü php-gettext phpmyadmin paketinin bir bağımlılığıdır: Packages.ubuntu.com/xenial/phpmyadmin bu yüzden neden orada olduğundan emin değilim.
Sam Wilson

Önce LAMBA, sonra phpmyadmin, belki de sorunun bir parçasıdır
Twojj

5

Sizin open_basediriçeriğiniz /usr/share/php/php-gettext/zaten varsa (benim durumumda olduğu gibi) ve önceki yanıtlarla çalışamıyorsanız, şunları yapın:

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

sembolik bağlantıları kaldırır

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

sabit bağlantılar oluşturur

Bu phpmyadmin'in tekrar çalışmasını sağlar. Neden 13.04'te kırıldı ve apache.conf yapmaları gerektiğini söylerken sembolik bağlantılar takip edilmiyor, benim için bir sır olarak kalıyor.


Teşekkürler, başardı. Open_basedir satırı zaten php-gettext dizinini içerdiğinden, bu bağlantıların yeniden yüklenmesi gerekiyordu.
Karma Fusebox

0

Ben bir alt etki alanında hizmet phpmyadmin için özel bir vhost dosyası kullandığım için (ile önek #) Alias /phpmyadmin /usr/share/phpmyadminin devre dışı bırakmak zorunda kaldı /etc/apache2/conf-available/phpmyadmin.conf. Ek ile bir Aliasnedenle işe yaramadı.


0

PhpMyAdmin bir Nginx sunucusunda çalışıyorsa, php.iniek /usr/share/php/php-php-gettextolarak open_basediranahtara yol eklemeniz gerekir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.