วิธีอัปเกรด PHPmyAdmin [revisited]


28

คำถามนี้ถูกถามก่อนหน้านี้วิธีการอัพเกรด PHPmyAdmin

คำตอบที่ได้รับคือ

sudo apt-get update
sudo apt-get install phpmyadmin

หรือ

sudo apt-get update
sudo apt-get upgrade

เวอร์ชันที่phpmyadminรวมอยู่ใน apt-get is 4.5.4ซึ่งวางจำหน่ายในวันที่ 28 มกราคม 2559

ในการตอบคำถามนี้หนึ่งคำตอบคือการใช้phpMyAdmin เก็บถาวรซึ่งมีคำสั่งต่อไปนี้

sudo add-apt-repository ppa:phpmyadmin/ppa
sudo apt-get update

ในกรณีของฉันที่ปรับปรุงสิ่งต่าง ๆ มากมาย แต่ไม่เฉพาะเจาะจงphpmyadminฉันต้องการคำสั่งเพิ่มเติม

sudo apt-get update phpmyadmin

สิ่งนี้ทำได้สำเร็จผ่านเวอร์ชัน4.9.0.1ที่เผยแพร่ในปี 2019

ขณะที่เขียนนี้ดูเหมือนว่าจำเป็นต้องดาวน์โหลดและคัดลอกด้วยตนเองโดยใช้คำแนะนำที่คลุมเครือจากdocs.phpmyadmin.net

มีที่เก็บปัจจุบันphpmyadminมากกว่า PPA หรือจำเป็นต้องมีการติดตั้งด้วยตนเองหรือไม่?


2
@Rinzwind ขณะนี้เป็นเวอร์ชัน 4.5.4 และฉันต้องการให้เป็นเวอร์ชั่นปัจจุบันของ 4.7.3 เป็นอย่างไรและไม่อัปเกรดอย่างไร
Dwight Wilbanks

หากคุณไม่สามารถหาวิธีการติดตั้ง pma จาก tarballs คุณไม่ควรอยู่ในธุรกิจการจัดการเว็บเซิร์ฟเวอร์ ... -1 สำหรับทุกคนที่นี่
fkraiem

คำตอบ:


36

@Photo Larryกดเล็บลงบนหัวแล้วสิ! ฉันจะให้คำตอบตามเขาที่จะเข้าใจและปฏิบัติตามได้ง่าย

  • ขั้นตอนแรกของคุณคือการติดตั้ง PMA (phpMyAdmin) อย่างเป็นทางการจากอูบุนตู apt-get install phpmyadminrepo:
  • ถัดไป, CD ลงในไดเรกทอรี / หุ้น cd /usr/shareusr:
  • ประการที่สามการลบไดเรกทอรี phpMyAdmin rm -rf phpmyadminนี้:
  • ตอนนี้เราต้องดาวน์โหลดเวอร์ชันล่าสุด PMA เข้าสู่ระบบของเรา (ทราบว่าคุณต้อง wget: apt-get install wget): wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip" ผมขออธิบายการขัดแย้งของคำสั่งนี้, -P กำหนดเส้นทางและ "link.zip" การอยู่ในขณะนี้ (7/17/18 ) PMA รุ่นล่าสุด คุณสามารถค้นหาเชื่อมโยงเหล่านั้นที่นี่
  • สำหรับขั้นตอนต่อไปนี้คุณจะต้องเปิดเครื่องรูด ( ):apt-get install unzip unzip phpMyAdmin-4.8.2-english.zipเราเพิ่งซิป PMA ตอนนี้เราจะย้ายไปที่บ้านหลังสุดท้าย
  • ให้ใช้cpคำสั่ง (คัดลอก) เพื่อย้ายไฟล์ของเรา! โปรดทราบว่าเราต้องเพิ่ม-rอาร์กิวเมนต์เนื่องจากนี่เป็นโฟลเดอร์ cp -r phpMyAdmin-4.8.2-english phpmyadmin.
  • rm -rf phpMyAdmin-4.8.2-englishตอนนี้มันถึงเวลาที่จะทำความสะอาด:

อ่านต่อ!

ตอนนี้คุณอาจสังเกตเห็นข้อผิดพลาดสองข้อหลังจากคุณเข้าสู่ PMA

the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

อย่างไรก็ตามปัญหาเหล่านี้ค่อนข้างง่ายต่อการแก้ไข สำหรับปัญหาแรกสิ่งที่คุณต้องทำก็คือคว้าตัวเลือกและแก้ไข/usr/share/phpmyadmin/config.inc.phpแต่มีปัญหาเราก็ลบมัน! ไม่เป็นไรสิ่งที่คุณต้องทำคือ: cd /usr/share/phpmyadmin& cp config.sample.inc.php config.inc.php.

  • ตอนนี้เราจะเพิ่มความลับ Blowfish ของเรา! nano config.inc.phpและคัดลอกลับการรักษาความปลอดภัยโดยการคลิกที่ textarea นี้: https://www.motorsportdiesel.com/tools/blowfish-salt/pma/

ตัวอย่าง phpMyAdmin Blowfish Secret รายการตัวแปร:

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; 
/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

ตอนนี้บันทึกและปิดไฟล์

  • ตอนนี้เราจะสร้างไดเรกทอรี tmp สำหรับ mkdir tmpPMA: chown -R www-data:www-data /usr/share/phpmyadmin/tmp& คำสั่งสุดท้ายให้ Apache เว็บเซิร์ฟเวอร์เป็นเจ้าของไดเรกทอรี tmp และแก้ไขเนื้อหา

แก้ไข 12 ธันวาคม 2018

คุณไม่ต้องการให้ใครบางคนขโมยคุกกี้ของคุณตอนนี้หรือไม่

มันถูกนำมาให้ฉันทราบว่าhttps://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generatorทำให้เกิดข้อผิดพลาดกับ PMA รุ่นเก่า แต่เหตุผลหลักที่ผมท้อคุณไปยังเว็บไซต์การใช้งานเช่นนี้เป็นเพราะคุณมีความคิดว่าพวกเขาใช้ PRNG อ่อนแอ (Pseudo-Random Number Generator) (เช่นrand(), mt_rand()และlcg_value()) หรือหนึ่งใน "สับ" ฟังก์ชั่น (เช่นstr_shuffle(), shuffle(), array_rand()) ฉันทำเครื่องมือของตัวเองเพื่อจุดประสงค์นี้ มันสร้างสายอักขระ 32 ตัวที่มีความปลอดภัยเข้ารหัสซึ่งคุณสามารถใช้ได้โดยไม่ต้องกังวลเรื่องความปลอดภัยหรือข้อผิดพลาด! หน้าคน PHP ฟังก์ชั่นสำหรับการใช้งานผมในการสร้างแบบแผนhttp://php.net/manual/en/function.random-int.php ฉันแทนที่ลิงค์เก่าด้วยลิงค์นี้:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/


แนวทางที่ดี! ฉันได้ทำตามขั้นตอนข้างเคียง: a) แทนที่จะลบเวอร์ชันเก่าออกฉันจะเปลี่ยนชื่อใหม่ b) อาจมีประโยชน์ในการสร้างลิงก์สัญลักษณ์phpmyadminซึ่งสามารถสลับระหว่างเวอร์ชันต่าง ๆ ได้อย่างง่ายดาย
AntonK

ฉันคัดลอกคำตอบของคุณที่นี่เพราะฉันคิดว่าเป็นตัวเลือกที่ดีที่สุด หากคุณต้องการคำตอบของคุณเองบอกฉันและฉันจะลบของฉัน
PhoneixS

ทุกอย่างปกติดี. ขอบคุณมากสำหรับเครดิตและมีความเหมาะสมที่จะแจ้งให้ฉันทราบ! @PhoneixS
CRIMSON 501

คุณควรลบไฟล์ ZIP ที่ดาวน์โหลดมาเป็นส่วนหนึ่งของการล้างข้อมูล
IvanRF

9

ฉันเพิ่งมีการทำเช่นนี้เพราะปัญหาเกี่ยวกับ php7.2 count(): Parameter must be an array or an object that implements Countableและรับข้อผิดพลาด

เวอร์ชันจาก apt คือ 4.5.4 และ ppa ไม่มีการแก้ไขสำหรับ php7.2 วิธีการแก้ปัญหาของฉันคือการดาวน์โหลดรุ่นล่าสุดจาก https://www.phpmyadmin.net//usr/share/phpmyadminและคัดลอกไฟล์ไปยัง


1
ทำงานให้ฉันเหมือนจับใจ
นอร์แมนเบิร์ด

ตกลงดีกว่าตอนนี้! Debian (และ Ubuntu) ควรอัพเกรดแพ็คเกจ ps ฉันยังใช้ PHP 7.3 อยู่
อันตราย 89

3

ตามที่ระบุไว้ข้างต้นคุณต้องอัปเดตไฟล์ด้วยตนเอง แต่ฉันค้นหาหนึ่งชั่วโมงเพื่อดูว่าไฟล์เหล่านี้อยู่ที่ใด (/ usr / share) และคอยดูว่ามันจะถูกวางลงใน / var / www / html ซึ่งไม่ถูกต้อง . หากคุณติดตั้งซอฟต์แวร์ด้วย apt-get install phpmyadmin หลังจากเพิ่มที่เก็บข้อมูลด้านบนซึ่งอ้างว่าเป็นเวอร์ชันปัจจุบันแสดงว่าคุณต้องได้รับ php7.2 libs อย่างน้อยที่สุด จากนั้นคุณต้องติดตั้งเวอร์ชันใหม่ (4.8) ลงใน / usr / share / phpmyadmin โดยไปที่ / usr / share และโคลน git: git clone https://github.com/phpmyadmin/phpmyadmin.git (ฉันทำ rm -rf phpmyadmin ก่อน) เพื่อให้แน่ใจว่าไม่มีรหัสเก่าเหลืออยู่ จากนั้นเมื่อเข้าสู่เว็บอินเตอร์เฟส .... คุณจะเห็นว่าเวอร์ชั่นล่าสุดกำลังถูกใช้งานอยู่ จากนั้นให้แน่ใจว่าได้ทำ cd to phpmyadmin และ run: อัพเดทผู้ประพันธ์ สิ่งนี้ติดตั้ง 4.9.0-dev ซึ่งทำงานได้ดีและฉันใช้ Ubuntu 16.04.4 ขอบคุณหวังว่านี้ช่วยให้ใครบางคนประหยัดเวลา


ขอบคุณ! สิ่งนี้ช่วยชีวิตฉันไว้! แต่ฉันตัดสินใจใช้เสถียรภาพหนึ่งgithub.com/blackmambano5/phpmyadmin.gitนี่เป็นรุ่น 4.8.1 และทุกอย่างทำงานได้!
gfivehost

ขอบคุณสิ่งนี้ช่วยได้ ฉันติดตั้งจาก zip ไม่ใช่จาก Github ไม่แตกต่างกันมากนัก ฉันขอแนะนำให้แก้ไขคำถามเพื่อแยกย่อหน้าขนาดใหญ่ออกเป็นรายการขั้นตอน
pgr

ดีกว่าดึงข้อมูลล่าสุดที่มีเสถียรภาพgit clone -b STABLE https://github.com/phpmyadmin/phpmyadmin.gitรุ่นจากคอมไพล์เช่นนี้
Christopher K.

2

phpmyadminคุณสามารถเพียงแค่ตนเองติดตั้งรุ่นล่าสุดของ

ตรงไปที่https://www.phpmyadmin.net/downloadsและดาวน์โหลดเวอร์ชันล่าสุด แต่ให้แน่ใจว่าคุณมี PHP และ MySQL รุ่นที่เข้ากันได้ตามที่ระบุไว้ในเว็บไซต์

แยกไปยังโฟลเดอร์สาธารณะของเซิร์ฟเวอร์ของคุณและแก้ไขconfig.inc.phpไฟล์ ตรวจสอบให้แน่ใจว่าคุณauth_typeเป็นcookieและhostอะไรก็ตามที่โฮสต์ของคุณ การตั้งค่านี้จะทำให้คุณป้อนชื่อผู้ใช้และรหัสผ่านเมื่อเข้าสู่ระบบ

/*Authentication type*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';

2

ฉันจะใช้ phpMyAdmin เก็บถาวรถ้าคุณต้องการรุ่นล่าสุด โปรดทราบว่ามีการพึ่งพา (คุณต้องการ php ที่ใหม่กว่าด้วย):

คำอธิบาย PPA

แพคเกจ phpMyAdmin ล่าสุด - https://www.phpmyadmin.net/ ขึ้นอยู่กับแพ็คเกจที่มีใน Debian

มีการเปลี่ยนแปลงที่น่าสังเกต:

  • ขณะนี้ต้องการแพ็คเกจ PHP ที่อัปเดตแล้วคุณสามารถรับแพคเกจได้จากhttps://launchpad.net/~ondrej/+archive/ubuntu/php/
  • มันรวมถึงสำเนาที่ฝังตัวของห้องสมุด PHP

2
ฉันคิดว่าเขาถามวิธีอัปเดตเป็นเวอร์ชันล่าสุดไม่ใช่ที่ที่สามารถดาวน์โหลดการติดตั้งได้
Tarik

1
ในเดือนกรกฎาคม 2018 PPA นั้นยังคงอยู่ที่ 4.6.6 (พร้อมจุดบกพร่อง) ในขณะที่ phpMyAdmin อยู่ที่ 4.8 (ไม่มีข้อผิดพลาด) ดูเหมือนว่า PPA จะไม่ได้รับการดูแลอีกต่อไปหรือไม่
Steve

เพิ่งใช้ PPA นี้ - 4.9.0 ไม่เลวร้ายเกินไป - ล่าสุดคือ 4.9.1 ทำให้ชีวิตง่ายขึ้น ไม่ต้องอัพเกรด PHP เป็น 7.3
nrapopor

0

ฉันอยากจะแนะนำให้ใช้ Docker เพื่อเรียกใช้ phpmyadmin ล่าสุด ง่ายในการตั้งค่าและการอ้างอิงทั้งหมดจะถูกจัดการโดยอัตโนมัติและไม่โต้ตอบกับการติดตั้งในพื้นที่ มันใช้ RAM 25MB ดังนั้นมันจึงไม่ใช่ memoryhog

ง่ายมากที่จะเรียกใช้ phphmyadmin ล่าสุดบนแพลตฟอร์มใดก็ได้

https://docs.phpmyadmin.net/en/latest/setup.html#installing-using-docker


0

คำตอบของ Crimson501 นั้นสมบูรณ์แบบเว้นแต่คุณใช้งานบน Ubuntu เพื่อแก้ไขปัญหาไฟล์ blowfish และ tmp บน Ubuntu คุณจำเป็นต้องแก้ไขไฟล์ต่อไปนี้เพื่ออ้างอิงไฟล์ config ที่มีอยู่และไดเร็กทอรี tmp ที่ ubuntu ใช้

การใช้โปรแกรมแก้ไขไฟล์ข้อความที่คุณโปรดปรานแก้ไข:

/usr/share/phpmyadmin/libraries/vendor_config.php
find TEMP_DIR
modify './tmp/' to '/var/lib/phpmyadmin/tmp/'
find CONFIG_DIR
modify '' to '/etc/phpmyadmin/'
save the changes

ตอนนี้เมื่อคุณกลับไปและรีเฟรชหน้าข้อผิดพลาดจะหายไป



-1

ทำตามคำแนะนำที่นี่ฉันสร้างสคริปต์ง่าย ๆ นี้เพื่ออัปเดต PHPMyAdmin เป็นเวอร์ชันเสถียรล่าสุด:

echo
echo "Backing up"
mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak

echo "Getting lastest PHPMyAdmin version..."
mkdir -p /usr/share/phpmyadmin/
cd /usr/share/phpmyadmin/
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
tar xzf phpMyAdmin-latest-all-languages.tar.gz
mv phpMyAdmin-*/* /usr/share/phpmyadmin

echo "Updating vendor_config"
sed -i -r "s/('TEMP_DIR'\s*,)[^\)]*/\1 '\/var\/lib\/phpmyadmin\/tmp\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php
sed -i -r "s/('CONFIG_DIR'\s*,)[^\)]*/\1 '\/etc\/phpmyadmin\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php

echo "Cleaning up..."
rm /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.tar.gz
rm -rf /usr/share/phpmyadmin/phpMyAdmin-*
rm -rf /usr/share/phpmyadmin.bak

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