phpMyAdmin Hatası - Yapılandırma dosyası şimdi gizli bir parola gerektiriyor


Yanıtlar:


39

Bu yardımcı olabilir, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

/ Phpmyadmin'e ilk giriş yaptığınızda sayfanın altında aşağıdaki hata mesajını görürseniz (önceden ayarlanmış bir MySQL kullanıcı adı ve şifresini kullanarak):

ERROR: The configuration file now needs a secret passphrase (blowfish_secret)  

PhpMyAdmin'in config dosyasına bir blowfish şifresi eklemeniz gerekir. /Etc/webapps/phpmyadmin/config.inc.php dosyasını düzenleyin ve satıra rastgele bir "parola" ekleyin.

$cfg['blowfish_secret'] = ; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */  

Şimdi böyle bir şeye benzemeli:

$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */  

Bunların hepsi, config dosyasını doğru bir şekilde oluşturduğunuzu varsayar.

cp config.sample.inc.php config.inc.php

Dediğim gibi, ben zaten parolayı belirledim ve hala çalışmıyor.
jax

1
Belki de düzenlediğiniz yapılandırma dosyası aktif değil midir? Çünkü hata, parolanın ayarlanmadığını gösterir.
user16081-JoeT

2
Benim değişti ... Bu aynı sorun var config.sample.inc.phpdosyayı config.inc.phpve bahsedilen eklenen $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';o ama phpMyAdmin endeksi sayfası hala eksik olduğunu yakınır ayarı! Bazı şanslar farklı bir dosya yüklüyorsa, dosyanın nerede veya neden olduğunu bilmiyorum? Daha önce bu problemi yaşayan birinin fikri var mı?
JasonDavis

1
@ jasondavis diğer cevabı kontrol edin; Bir izin sorununuz olabilir ve phpMyAdmin config klasörünüzün sahipliğini / grubunu değiştirmeniz gerekebilir.
user16081-JoeTMar

2
Şu adresteki "Gizli Generator" kullanabilirsiniz question-defense.com/tools/phpmyadmin-blowfish-secret-generator çalışması gerektiğini rastgele kod almak. User16081-JoeT yazısından bir çağrı cihazında bağlantılı. Sonra talimatlarını takip et.
WebLuke,

8

The configuration file now needs a secret passphrase (blowfish_secret)Yapılandırma dosyası $cfg['blowfish_secret']ayarlandığında da hata ile karşılaşıyordum . CentOS v6 kullanıyorum ve EPEL repo'dan PHPMyAdmin kullandım yum. PHPMyAdmin'i barındırmak için nginx kurulumu yaptım ve PHPMyAdmin paketi (varsayılan olarak) Apache ile çalışacak şekilde ayarlandı. Yapılandırma dosyası bulunur /etc/phpMyAdmin/config.inc.php(kontrol edebilirsiniz CONFIG_DIRiçinde libraries/vendor_config.phpve dikkat ederseniz, kullanıcı köküdür ve gruptur sizin yapılandırma dosyası bulunduğu bulmak için) apachedosya ve dizin için. Bu PHPMyAdmin'in konfigürasyon dosyasını okuyamamasına neden olur. Bu sorunu çözmek chowniçin grubu web sunucunuzu çalıştıran gruba değiştirmek için kullanın (benim durumumda gruptur nginx). Sahibini hem dizin VE yapılandırma dosyası için değiştirmelisiniz (aşağıda gösterildiği gibi).

chown -R root.nginx /etc/phpMyAdmin/

PHPMyAdmin güncellendiğinde bunu tekrar yapmanız gerekebileceğini unutmayın. SELinux etkinse, izinlerle ilgili başka sorunlar da yaşayabilirsiniz.


Yorumlar /etc/phpmyadmin/config.inc.php: `* NOT: Ne yaptığınızı gerçekten bilmiyorsanız, bu dosyaya (şifreler gibi) güvenlik açısından hassas veriler eklemeyin. Bunu yaparsanız, web sunucunuzda PHP veya CGI çalıştırabilen * kullanıcıları okuyabilir. Hala * bunu yapmak istiyorsanız, bu dosyaya erişimi * (dosya sistemi düzeyinde de) uygun bir şekilde güvenceye aldığınızdan emin olun. * / `
Buttle Butkus

Altında şu satır var: include('/var/lib/phpmyadmin/blowfish_secret.inc.php');Ben oraya gittim ve o dosyanın grubunu web sunucusu kullanıcıma değiştirdim. Çalışıyor, ancak şifreyi koymaktan daha güvenli görünmüyor /etc/phpmyadmin/config.inc.php. Sanırım belki PHP orada çalıştırılamaz. Ancak sorunu çözdü. Sanırım hack saldırı köprüsünü geçtiğimde geçeceğim.
Buttle Butkus

CONFIG_DIR altındaki varsayılan konum şudur ./config/config.inc.php. Bu dosyayı bu dizinin dışına taşıdığımdan sürümleri daha kolay değiştirebildiğim için, bu dosya için konumum için bir bağlantı oluşturmam gerekiyordu ve mesaj benim için gitti. ln -s ../../../config.inc.php config.inc.php
MECU

+1 /etc/phpMyAdminYalnızca config.inc.phpdosyadaki değil , dizindeki izinleri ayarlama gereksinimi için .
jxmallett

5

sahiptim

define('CONFIG_DIR', '/etc/phpmyadmin'); 

/usr/share/phpmyadmin/libraries/vendor_config.php içinde.

Olmalı:

define('CONFIG_DIR', '/etc/phpmyadmin/'); 

(eğik çizgi eklendi)


2

Phpmyadmin'in en son sürümü kurulumdan sonra config dosyasını oluşturmaz. Kullanılabilir bir örnek yapılandırma dosyası ve klasör ağacında daha derin bir gerçek yapılandırma dosyası vardır.

Blowfish sırrı tam olarak 32 karakter uzunluğunda olmalı, aksi takdirde uygulanmayacaktır.

Varsayılanları geçersiz kılan gerçek kullanılan dosyayı oluşturmak için örnek dosyayı kopyalayın. Aşağıda gösterilen dizin sadece bir örnektir, bu nedenle geçerli olan phpmyadmin kurulumunuz için dizin / yolu kullanın.

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Dosyanın en üstünde ayarlanması gereken blowfish değişkeni bulunur. Değişkenin değerine 32 rastgele karakter ekleyin ve ardından dosyayı kaydedin.

$cfg['blowfish_secret'] = 'KLS$vbc91Lkja$vc@opGbxA278EWopdc';

Bu konudaki 32 karakter kuralından bahseden kimseyi okumadım. Belki de OP için sorun buydu.


2

Benim durumumda, repodaki sürüm PHP 7.2 ile iyi çalışmadığı için PHPMyAdmin'i manuel olarak yükselttim. Tüm adımları çevrimiçi olarak takip ettim ama /usr/share/phpmyadmin/libraries/vendor_config.php adresinde bir hata yaptım.

Satır: sonunda define('CONFIG_DIR', '/etc/phpmyadmin/');bir eksikti /. Bunu el ile kütüphaneleri / classes / Config.php dosyasını düzenleyerek öğrendim ve başında function load($source)yaptım die($source). Orada config kaynağının hatalı olduğunu gördüm.


1

Http (web sunucusu) grubu için izinlerin kontrol edilmesine ek olarak, php.ini içindeki 'open_basedir' girişinin eğer ayarlanmışsa config.inc.php dosyasının bulunduğu dizini içerdiğini kontrol etmeye değer. Bu benim için bu sorunu çözdü.


1

Phpmyadmin klasörüne gidin> ' lint.php ' ifadesini arayın ve = ' necess_once ' libraries / config.inc.php ';

Sorununuzu kesinlikle çözecektir.

Sorununuzu çözerse o zaman bana teşekkür edin.


1

Bu adımları takip et:

1) Git /etc/httpd/conf.d/phpmyadmin.conf

  • (phpMyAdmin'in dizin etiketindeki yolunu kontrol edin)

2) Git /usr/share/phpmyadmin, açconf.inc.php

3) gibi blowfish_secret için değer katın -

$cfg['blowfish_secret'] = 'mrgQxxk8C-y}U7ji2BO9o5jLf}Qhe-BI[~6SUa';/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

4) Kaydet ve çık.

5) Tarayıcı önbelleğini temizle

6) URL ile erişmeye çalışın: http://yourserver.com/phpmyadmin/index.php


1

Sadece bunu paylaşmak istiyorum. koymak

$cfg['blowfish_secret'] = 'fill this up';

Phpmyadmin klasörüne gidin ve arayın lint.php

ve

require_once 'common.inc.php';

1

Dosyayı burada düzenlediyseniz: /usr/share/phpmyadmin/config.inc.php

Ve sorunu çözmemek, yanlış dosyayı düzenleme ihtimaliniz var. koşarsan whereis phpmyadmin -lo sunucuda phpmyadmin yerin listelemek vermelidir.

Neden yanlış dosyayı düzenliyor olabileceğinizi söyledim phpmyadmin'inizi yüklerseniz var/www/phpmyadminya da var/www/html/phpmyadmindüzenlemek istediğiniz yer burasıdır phpmyadmin/config.sample.inc.php.

Öyleyse şunu dene:

$ cd var/www/html/phpmyadmin
$ cp config.sample.inc.php config.inc.php

Bu şekilde düzenleyin ve oturumu kapatın ve phpmyadmin'e giriş yapın.


0

Parantez içinde 32 sembol ile şifre ekleme $ cfg ['blowfish_secret'] = ''; /usr/share/phpmyadmin/libraries/config.default.php içindeki başka bir dosya için bana yardımcı oldu

Debian 9 + ispconfig kullanarak, elle yüklenen phpmyadmin


0

Benim durumumda bu sahip / izinler sorunuydu, çünkü birincil web sitelerimden birinde işaret bağlantısı oluşturduğum için /usr/share/phpmyadmin/phpMyAdmin'e yalnızca IP yerine FQDN https://myserver.mydomain.com/changedphpmyadmin adresinden erişebildiğime işaret ettim . Ancak bunu yaparken de web kullanıcısı değişti; IP üzerinden göz atma, varsayılan etki alanı değilse, FQDN'den farklıdır.

Yani benim durumumda benim FQDN web kullanıcı okuyamadı /var/lib/phpmyadmin/blowfish_secret.inc.phpben sadece bu dosyanın sahibini değiştirdi, böylece www-verileri: root için web1: İSTEMCİ1 benim durumumda. Ardından nginx'i test edin ve yeniden yükleyin:

chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx

Nginx'i yeniden yüklemeye gerek olmamalıydı; PHP kodunu çalıştırmakla ilgisi yok.
womble
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.