ข้อผิดพลาด phpMyAdmin - ตอนนี้ไฟล์การกำหนดค่าต้องมีข้อความรหัสผ่านลับ


29

ฉันได้รับข้อผิดพลาด "ตอนนี้ไฟล์การกำหนดค่าต้องใช้ข้อความรหัสผ่านลับ" หลังจากติดตั้ง phpmyadmin ฉันได้ตั้งข้อความรหัสผ่านและทำตามคำแนะนำที่ปรากฏบนhttps://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-onแต่ดูเหมือนว่าจะไม่ทำงาน ฉันใช้ AMI และตรวจสอบเจ้าของและการอนุญาตเช่นกัน กรุณาช่วยด้วย

คำตอบ:


39

สิ่งนี้อาจช่วยได้ https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

หากคุณเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้ที่ด้านล่างของหน้าเมื่อคุณเข้าสู่ / phpmyadmin เป็นครั้งแรก (โดยใช้ชื่อผู้ใช้และรหัสผ่านการตั้งค่า MySQL ก่อนหน้านี้):

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

คุณต้องเพิ่มรหัสผ่าน blowfish ลงในไฟล์กำหนดค่าของ phpMyAdmin แก้ไข /etc/webapps/phpmyadmin/config.inc.php และใส่ "รหัสผ่าน" ปักเป้าแบบสุ่มลงในบรรทัด

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

ตอนนี้มันควรมีลักษณะดังนี้:

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

ทั้งหมดนี้ถือว่าคุณได้สร้างไฟล์ปรับแต่งเรียบร้อยแล้ว

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

อย่างที่ฉันพูดฉันได้ตั้งข้อความรหัสผ่านแล้ว แต่ก็ยังใช้งานไม่ได้
jax

1
บางทีไฟล์กำหนดค่าที่คุณแก้ไขไม่ใช่ไฟล์ที่ใช้งานอยู่ใช่ไหม เนื่องจากข้อผิดพลาดระบุว่าไม่ได้ตั้งข้อความรหัสผ่าน
user16081-JoeT

2
ฉันมีปัญหาเดียวกันนี้ ... ฉันเปลี่ยนconfig.sample.inc.phpไฟล์ของฉันเป็นconfig.inc.phpและเพิ่มการ$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz';ตั้งค่าที่กล่าวถึงไปแล้ว แต่หน้าดัชนี phpMyAdmin ยังคงบ่นว่ามันหายไป! หากมีโอกาสที่มันกำลังโหลดไฟล์ที่แตกต่างกันฉันไม่รู้ว่าไฟล์นั้นอยู่ที่ไหนหรือเพราะเหตุใด? ความคิดเห็นใด ๆ ที่มีปัญหานี้มาก่อนหรือไม่
JasonDavis

1
@jasondavis ตรวจสอบคำตอบอื่น ๆ ; คุณอาจมีปัญหาการอนุญาตและจำเป็นต้องเปลี่ยนความเป็นเจ้าของ / กลุ่มของโฟลเดอร์การกำหนดค่า phpMyAdmin ของคุณ
user16081-JoeT

2
คุณสามารถใช้ "เครื่องมือสร้างความลับ" ได้ที่question-defense.com/tools/phpmyadmin-blowfish-secret-generatorเพื่อรับรหัสสุ่มที่ควรใช้ มันเชื่อมโยงในเพจเจอร์จาก user16081-JoeT โพสต์ จากนั้นทำตามคำแนะนำของเขา
WebLuke

8

ฉันยังได้รับข้อผิดพลาดThe configuration file now needs a secret passphrase (blowfish_secret)เมื่อตั้งค่าไฟล์การ$cfg['blowfish_secret']ตั้งค่า ฉันใช้ CentOS v6 และผมติดตั้ง PHPMyAdmin จาก EPEL repo yumใช้ ฉันตั้งค่า nginx ให้โฮสต์ PHPMyAdmin และแพ็คเกจ PHPMyAdmin (โดยค่าเริ่มต้น) เป็นการตั้งค่าให้ทำงานกับ Apache แฟ้มการกำหนดค่าตั้งอยู่ที่/etc/phpMyAdmin/config.inc.php(คุณสามารถตรวจสอบCONFIG_DIRในlibraries/vendor_config.phpการหาที่ไฟล์ config ของคุณตั้งอยู่) และถ้าคุณสังเกตเห็นผู้ใช้เป็นรากและกลุ่มที่เป็นapacheไฟล์และไดเรกทอรี สิ่งนี้ทำให้ PHPMyAdmin ไม่สามารถอ่านไฟล์การกำหนดค่าได้ ในการแก้ไขปัญหานี้ให้ใช้chownเพื่อเปลี่ยนกลุ่มเป็นกลุ่มที่ใช้งานเว็บเซิร์ฟเวอร์ของคุณ (ในกรณีของฉันคือกลุ่มnginx) คุณจะต้องเปลี่ยนเจ้าของสำหรับทั้งไดเรกทอรีและไฟล์การกำหนดค่า (ดังที่แสดงด้านล่าง)

chown -R root.nginx /etc/phpMyAdmin/

โปรดทราบว่าคุณอาจต้องดำเนินการนี้อีกครั้งหากมีการอัพเดต PHPMyAdmin คุณอาจมีปัญหาเพิ่มเติมเกี่ยวกับการอนุญาตหากเปิดใช้งาน SELinux


ความคิดเห็นที่/etc/phpmyadmin/config.inc.php: `* หมายเหตุ: อย่าเพิ่มข้อมูลความปลอดภัยที่สำคัญลงในไฟล์นี้ (เช่นรหัสผ่าน) * เว้นแต่คุณจะรู้ว่ากำลังทำอะไรอยู่ หากคุณเป็นเช่นนั้นผู้ใช้ที่สามารถรัน PHP หรือ CGI บนเว็บเซิร์ฟเวอร์ของคุณจะสามารถอ่านได้ หากคุณยังต้องการทำสิ่งนี้โปรดตรวจสอบให้แน่ใจว่าได้เข้าถึงไฟล์นี้อย่างปลอดภัย * (ในระดับระบบไฟล์) * / `
Buttle Butkus

ด้านล่างที่มันมีบรรทัดนี้include('/var/lib/phpmyadmin/blowfish_secret.inc.php');ดังนั้นฉันไปที่นั่นและมีการเปลี่ยนแปลงที่กลุ่มของแฟ้มให้กับผู้ใช้เว็บเซิร์ฟเวอร์ของฉัน มันทำงาน แต่ดูเหมือนจะไม่ใด ๆ /etc/phpmyadmin/config.inc.phpที่มีความปลอดภัยมากกว่าการใส่รหัสผ่านใน ฉันเดาว่าบางที PHP ไม่สามารถทำงานที่นั่นได้? มันแก้ไขปัญหาได้แล้ว ดังนั้นฉันเดาว่าฉันจะข้ามสะพานโจมตีแฮ็คเมื่อฉันไปถึง
Buttle Butkus

ที่ตั้งเริ่มต้นภายใต้ CONFIG_DIR ./config/config.inc.phpคือ เนื่องจากฉันมีไฟล์นี้อยู่นอกไดเรกทอรีนี้เพื่อให้ฉันสามารถสลับเวอร์ชันได้ง่ายขึ้นฉันแค่ต้องสร้าง symlink สำหรับไฟล์นี้ไปยังตำแหน่งของฉันและข้อความก็หายไป ln -s ../../../config.inc.php config.inc.php
MECU

+1 สำหรับจำเป็นต้องตั้งค่าการอนุญาตใน/etc/phpMyAdminไดเรกทอรีไม่ใช่เฉพาะconfig.inc.phpไฟล์ในนั้น
jxmallett

5

ฉันมี

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

ใน /usr/share/phpmyadmin/l ไลบรารี/vendor_config.php

มันควรจะเป็น:

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

(เพิ่มเครื่องหมายสแลช)


2

phpmyadmin เวอร์ชันล่าสุดไม่ได้สร้างไฟล์กำหนดค่าหลังจากการติดตั้ง มีไฟล์ตัวอย่างที่ใช้งานได้และไฟล์กำหนดค่าเริ่มต้นแท้จริงที่ลึกกว่าในโครงสร้างโฟลเดอร์

โปรดทราบว่าความลับปักเป้าจะต้องมีความยาว 32 ตัวอักษรมิฉะนั้นจะไม่ถูกนำไปใช้

คัดลอกไฟล์ตัวอย่างเพื่อสร้างไฟล์ที่ใช้จริงที่แทนที่ค่าเริ่มต้น ไดเรกทอรีที่แสดงด้านล่างเป็นเพียงตัวอย่างดังนั้นใช้ไดเรกทอรี / พา ธ สำหรับการติดตั้ง phpmyadmin ของคุณที่ใช้

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

ที่ด้านบนของไฟล์คือตัวแปรปักเป้าที่ต้องตั้งค่า เพิ่มอักขระสุ่ม 32 ตัวให้กับค่าของตัวแปรแล้วบันทึกไฟล์

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

ฉันไม่ได้อ่านใครพูดถึงกฎ 32 ตัวอักษรในหัวข้อนี้ บางทีนั่นอาจเป็นปัญหาสำหรับ OP


2

ในกรณีของฉันฉันอัพเกรด PHPMyAdmin ด้วยตนเองเพราะเวอร์ชั่นใน repo ทำงานได้ไม่ดีกับ PHP 7.2 ฉันทำตามทุกขั้นตอนทางออนไลน์ แต่ได้ทำผิดพลาดใน /usr/share/phpmyadmin/l ไลบรารี/vendor_config.php

บรรทัด: define('CONFIG_DIR', '/etc/phpmyadmin/');ขาดหายไป/ในตอนท้าย ฉันพบนี้ออกโดยการแก้ไขด้วยตนเองห้องสมุด / เรียน / config.php และที่จุดเริ่มต้นของผมfunction load($source) die($source)ฉันเห็นว่าแหล่งกำหนดค่าไม่ถูกต้อง


1

นอกเหนือจากการตรวจสอบการอนุญาตจะสามารถดำเนินการได้สำหรับกลุ่ม http (เว็บเซิร์ฟเวอร์) เป็นมูลค่าการตรวจสอบว่ารายการ 'open_basedir' ใน php.ini รวมถึงไดเรกทอรีที่ config.inc.php ตั้งอยู่หากมีการตั้งค่า ปัญหานี้หายไปสำหรับฉัน


1

ไปที่โฟลเดอร์ phpmyadmin> ค้นหา ' lint.php ' และตั้งค่า = 'require_once' Libraries / config.inc.php ';

มันจะแก้ปัญหาของคุณอย่างแน่นอน

ถ้ามันแก้ปัญหาของคุณได้แล้วขอบคุณฉัน


1

ทำตามขั้นตอนเหล่านี้:

1) ไปที่ /etc/httpd/conf.d/phpmyadmin.conf

  • (ตรวจสอบเส้นทางของ phpMyAdmin ในแท็กไดเรกทอรี)

2) ไปที่/usr/share/phpmyadminเปิดconf.inc.php

3) เพิ่มมูลค่าของ blowfish_secret เช่น -

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

4) บันทึก & ออก

5) ล้างแคชเบราว์เซอร์

6) ลองเข้าถึงด้วย url: http://yourserver.com/phpmyadmin/index.php


1

แค่ต้องการแชร์สิ่งนี้ ใส่

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

ไปที่โฟลเดอร์ phpmyadmin และค้นหา lint.php

และตั้งค่า

require_once 'common.inc.php';

1

หากคุณแก้ไขไฟล์ที่นี่: /usr/share/phpmyadmin/config.inc.php

และปัญหาไม่สามารถแก้ไขได้มีความเป็นไปได้ที่คุณจะแก้ไขไฟล์ผิด หากคุณเรียกใช้whereis phpmyadmin -lที่ควรให้รายชื่อสถานที่ phpmyadmin บนเซิร์ฟเวอร์

ทำไมผมบอกว่าคุณอาจจะแก้ไขไฟล์ที่ไม่ถูกต้องก็คือว่าถ้าคุณติดตั้ง phpMyAdmin ของคุณvar/www/phpmyadminหรือนี่คือที่ที่คุณต้องการที่จะแก้ไขvar/www/html/phpmyadminphpmyadmin/config.sample.inc.php

ลองทำสิ่งนี้:

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

แก้ไขสิ่งนี้ในแบบของคุณแล้วออกจากระบบและลงชื่อเข้าใช้ phpmyadmin คุณควรจะดี


0

การเพิ่มรหัสผ่านด้วยสัญลักษณ์ 32 ตัวในวงเล็บปีกกา $ cfg ['blowfish_secret'] = ''; ช่วยฉันด้วยไฟล์อื่นภายใน /usr/share/phpmyadmin/l ไลบรารี/config.default.php

ใช้ debian 9 + ispconfig ติดตั้ง phpmyadmin ด้วยตนเอง


0

ในกรณีของฉันมันเป็นปัญหาของเจ้าของ / สิทธิ์เพราะฉันสร้าง symlink ในเว็บไซต์หลักของฉันให้ชี้ไปที่/usr/share/phpmyadmin/ดังนั้นฉันจึงสามารถเข้าถึง phpMyAdmin จาก FQDN https://myserver.mydomain.com/changedphpmyadminแทน IP เท่านั้น แต่การทำเช่นนั้นก็เปลี่ยนผู้ใช้เว็บด้วย การสืบค้นผ่าน IP นั้นแตกต่างจากผ่าน FQDN หากนี่ไม่ใช่โดเมนเริ่มต้น

ดังนั้นในกรณีของฉันผู้ใช้เว็บของ FQDN ของฉันไม่สามารถอ่านได้/var/lib/phpmyadmin/blowfish_secret.inc.phpดังนั้นฉันเพียงแค่เปลี่ยนเจ้าของไฟล์นี้จากroot: www-dataเป็นweb1: client1ในกรณีของฉัน จากนั้นทดสอบและโหลด nginx:

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

ไม่จำเป็นต้องทำการรีโหลด nginx; มันไม่เกี่ยวอะไรกับการรันโค้ด PHP
womble
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.