Kesalahan phpMyAdmin - File konfigurasi sekarang memerlukan frasa sandi rahasia

Jawaban:

39

Ini mungkin membantu, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

Jika Anda melihat pesan kesalahan berikut di bagian bawah halaman ketika Anda pertama kali masuk ke / phpmyadmin (menggunakan pengaturan nama pengguna dan kata sandi MySQL sebelumnya):

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

Anda perlu menambahkan kata sandi blowfish ke file konfigurasi phpMyAdmin. Edit /etc/webapps/phpmyadmin/config.inc.php dan masukkan "kata sandi" blowfish acak di dalam baris

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

Seharusnya terlihat seperti ini:

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

Ini semua menganggap Anda sudah membuat file konfigurasi dengan benar,

cp config.sample.inc.php config.inc.php
user16081-JoeT
sumber
Seperti yang saya katakan, saya sudah menetapkan kata sandi dan masih tidak berfungsi.
Jax
1
Mungkin file konfigurasi yang Anda edit bukan yang aktif? Karena kesalahan menunjukkan bahwa frasa sandi tidak disetel.
user16081-JoeT
2
Saya memiliki masalah yang sama ... Saya mengubah config.sample.inc.phpfile saya config.inc.phpdan menambahkan $cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';pengaturan yang disebutkan untuk itu tetapi halaman indeks phpMyAdmin masih mengeluh bahwa itu hilang! Jika ada kemungkinan itu memuat file yang berbeda, maka saya tidak tahu di mana atau mengapa file itu? Adakah orang yang pernah mengalami masalah ini sebelumnya?
JasonDavis
1
@ jasondavis periksa jawaban lainnya; Anda mungkin memiliki masalah izin dan perlu mengubah kepemilikan / grup folder konfigurasi phpMyAdmin Anda.
user16081-JoeT
2
Anda dapat menggunakan "Generator Rahasia" di question-defense.com/tools/phpmyadmin-blowfish-secret-generator untuk mendapatkan kode acak yang seharusnya berfungsi. Ini terhubung dalam pager dari postingan user16081-JoeT. Kemudian ikuti instruksinya.
WebLuke
8

Saya juga mendapatkan kesalahan The configuration file now needs a secret passphrase (blowfish_secret)ketika file konfigurasi telah $cfg['blowfish_secret']diatur. Saya menggunakan CentOS v6 dan saya menginstal PHPMyAdmin dari repo EPEL menggunakan yum. Saya mengatur nginx untuk meng-host PHPMyAdmin dan paket PHPMyAdmin (secara default) diatur untuk berfungsi dengan Apache. File konfigurasi terletak di /etc/phpMyAdmin/config.inc.php(Anda dapat check- CONFIG_DIRin libraries/vendor_config.phpuntuk menemukan di mana file config Anda berada) dan jika Anda perhatikan, pengguna adalah root dan grup adalah apacheuntuk file dan direktori. Ini menyebabkan PHPMyAdmin tidak dapat membaca file konfigurasi. Untuk memperbaiki masalah ini, gunakan chownuntuk mengubah grup ke grup yang menjalankan server web Anda (dalam kasus saya, grup tersebut adalah nginx). Anda perlu mengubah pemilik untuk direktori dan file konfigurasi (seperti yang ditunjukkan di bawah ini).

chown -R root.nginx /etc/phpMyAdmin/

Perhatikan bahwa Anda mungkin perlu melakukan ini lagi jika PHPMyAdmin diperbarui. Anda juga mungkin memiliki masalah lebih lanjut dengan izin jika SELinux diaktifkan.

ub3rst4r
sumber
Komentar di /etc/phpmyadmin/config.inc.php: `* CATATAN: jangan tambahkan data sensitif keamanan ke file ini (seperti kata sandi) * kecuali Anda benar-benar tahu apa yang Anda lakukan. Jika Anda melakukannya, setiap pengguna yang dapat * menjalankan PHP atau CGI di server web Anda akan dapat membacanya. Jika Anda masih * ingin melakukan ini, pastikan untuk mengamankan akses ke file ini * (juga pada tingkat filesystem). * / `
Buttle Butkus
Di bawah itu, ia memiliki baris ini: include('/var/lib/phpmyadmin/blowfish_secret.inc.php');Jadi saya pergi ke sana dan berubah bahwa kelompok file untuk pengguna webserver saya. Ini berfungsi, tetapi tampaknya tidak lebih aman daripada memasukkan kata sandi /etc/phpmyadmin/config.inc.php. Saya kira mungkin PHP tidak dapat dijalankan di sana? Itu memang memperbaiki masalah. Jadi saya kira saya akan menyeberangi jembatan serangan hack ketika saya sampai di sana.
Buttle Butkus
Lokasi default di bawah CONFIG_DIR adalah ./config/config.inc.php. Karena saya memiliki file ini di luar direktori ini sehingga saya dapat bertukar versi lebih mudah, saya hanya perlu membuat symlink untuk file ini ke lokasi saya dan pesannya hilang untuk saya. ln -s ../../../config.inc.php config.inc.php
MECU
+1 Karena harus menetapkan izin pada /etc/phpMyAdmindirektori, dan bukan hanya config.inc.phpfile di dalamnya.
jxmallett
5

Saya punya

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

di /usr/share/phpmyadmin/libraries/vendor_config.php.

Harus:

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

(garis miring ditambahkan)

Marcel Molenaar
sumber
2

Versi terbaru dari phpmyadmin tidak membuat file konfigurasi setelah instalasi. Ada contoh file konfigurasi yang tersedia dan file konfigurasi default aktual lebih dalam di pohon folder.

Perhatikan bahwa panjang rahasia blowfish harus tepat 32 karakter, kalau tidak rahasia itu tidak akan diterapkan.

Salin file contoh untuk membuat file yang digunakan aktual yang menimpa default. Direktori yang ditunjukkan di bawah ini hanyalah sebuah contoh, oleh karena itu gunakan direktori / path untuk instalasi phpmyadmin Anda yang berlaku.

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

Di atas file adalah variabel blowfish yang perlu diatur. Tambahkan 32 karakter acak ke nilai variabel dan kemudian simpan file.

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

Saya tidak membaca siapa pun yang menyebutkan aturan 32 karakter di utas ini. Mungkin itu adalah masalah OP.

D Moreau
sumber
2

Dalam kasus saya, saya memutakhirkan PHPMyAdmin secara manual karena versi dalam repo tidak berperilaku baik dengan PHP 7.2. Saya mengikuti semua langkah online, tetapi telah membuat kesalahan di /usr/share/phpmyadmin/libraries/vendor_config.php.

Baris: define('CONFIG_DIR', '/etc/phpmyadmin/');ada yang hilang /di bagian akhir. Saya menemukan ini dengan mengedit perpustakaan / kelas / Config.php secara manual dan pada awal function load($source)saya melakukan a die($source). Di sana saya melihat bahwa sumber konfigurasi salah.

Albi
sumber
1

Selain memeriksa izin dapat dieksekusi untuk grup http (server web), ada baiknya memeriksa bahwa entri 'open_basedir' di php.ini termasuk direktori di mana config.inc.php berada jika diatur. Ini menyembuhkan masalah ini untuk saya.

tehanomalousone
sumber
1

Buka folder phpmyadmin> cari ' lint.php ' dan atur pustaka = 'require_once' / config.inc.php ';

Itu pasti akan memecahkan masalah Anda.

Jika itu menyelesaikan masalah Anda maka terima kasih kepada saya.

shaan
sumber
1

Ikuti langkah ini:

1) Pergi ke /etc/httpd/conf.d/phpmyadmin.conf

  • (periksa jalur phpMyAdmin dalam tag direktori)

2) Pergi ke /usr/share/phpmyadmin, bukaconf.inc.php

3) Tambahkan nilai untuk blowfish_secret, seperti -

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

4) Simpan & keluar.

5) Bersihkan cache browser

6) Coba akses dengan url: http://yourserver.com/phpmyadmin/index.php

Yoggesh Paatil
sumber
1

Hanya ingin membagikan ini. taruh

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

Buka folder phpmyadmin dan cari lint.php

dan mengatur

require_once 'common.inc.php';
rm_beginners
sumber
1

Jika Anda telah mengedit file di sini: /usr/share/phpmyadmin/config.inc.php

Dan masalah tidak terpecahkan, ada kemungkinan Anda mengedit file yang salah. jika kamu lariwhereis phpmyadmin -l itu akan memberi Anda daftar lokasi phpmyadmin di server.

Mengapa saya mengatakan Anda mungkin mengedit file yang salah adalah bahwa jika Anda menginstal phpmyadmin Anda var/www/phpmyadminatau di var/www/html/phpmyadminsinilah Anda perlu mengeditphpmyadmin/config.sample.inc.php .

Jadi coba ini:

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

Edit ini dengan cara Anda dan logout dan login phpmyadmin Anda harus baik-baik saja.

ShapCyber
sumber
0

Menambahkan kata sandi dengan 32 simbol di dalam tanda kurung $ cfg ['blowfish_secret'] = ''; membantu saya untuk file lain di dalam /usr/share/phpmyadmin/libraries/config.default.php

Menggunakan debian 9 + ispconfig, phpmyadmin yang dipasang secara manual

Stanislav Kryvenko
sumber
0

Dalam kasus saya itu adalah masalah pemilik / izin, karena saya secara manual membuat symlink di salah satu situs web utama saya untuk menunjuk /usr/share/phpmyadmin/sehingga saya dapat mengakses phpMyAdmin dari FQDN https://myserver.mydomain.com/changedphpmyadmin alih- bukan melalui IP saja. Tetapi hal itu juga mengubah pengguna web; penjelajahan melalui IP berbeda dari melalui FQDN, jika ini bukan domain default.

Jadi dalam kasus saya, pengguna web FQDN saya tidak bisa membaca /var/lib/phpmyadmin/blowfish_secret.inc.php, jadi saya cukup mengubah pemilik file ini dari root: www-data ke web1: client1 dalam kasus saya. Kemudian uji dan muat ulang nginx:

chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx
Labsy
sumber
Seharusnya tidak perlu memuat ulang nginx; tidak ada hubungannya dengan mengeksekusi kode PHP.
womble