PHPmyAdmin을 업그레이드하는 방법 [재검토]


28

이 질문은 이전에 PHPmyAdmin을 업그레이드하는 방법이었습니다.

주어진 대답은

sudo apt-get update
sudo apt-get install phpmyadmin

또는

sudo apt-get update
sudo apt-get upgrade

phpmyadminapt-get 에 포함 된 버전은 2016 년 1 월 28 일 4.5.4출시되었습니다 .

이 질문에 대한 답변 에서 다음 명령을 제공하는 phpMyAdmin 아카이브 를 사용하는 것이 하나의 대답이었습니다 .

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

내 경우에는 많은 것들을 업데이트했지만 구체적으로는 아니지만 phpmyadmin추가 명령이 필요했습니다.

sudo apt-get update phpmyadmin

2019 년 4.9.0.1출시 된 버전 을 통과했습니다 .

이 글을 쓰는 시점에서 docs.phpmyadmin.net 의 모호한 지침을 사용하여 수동으로 다운로드하여 복사 해야합니다.

phpmyadminPPA보다 최신 저장소가 있거나 수동 설치가 필요합니까?


2
@Rinzwind, 현재 버전 4.5.4이며 현재 버전 4.7.3으로하고 싶습니다. 어떻게 업그레이드되지 않습니까?
드와이트 윌 뱅크스

tarball에서 pma를 설치하는 방법을 알 수 없다면 웹 서버를 관리하는 사업에 종사해서는 안됩니다.
fkraiem

답변:


36

@Photo Larry 는 머리에 못을 박았습니다. 이해하고 따라 가기 쉬운 그의 답변을 드리겠습니다.

  • 첫 번째 단계는 공식 우분투 저장소에서 PMA (phpMyAdmin)를 설치하는 것 apt-get install phpmyadmin입니다.
  • 그런 다음 usr / share 디렉토리로 cd하십시오 cd /usr/share.
  • 셋째, 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의 압축을 풀었습니다. 이제 PMA를 최종 가정으로 옮길 것입니다.
  • cp파일을 옮기기 위해 (copy) 명령을 사용하자 ! -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됩니다.

phpMyAdmin 복어 비밀 변수 항목 예 :

/*
 * 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! */

이제 파일을 저장하고 닫습니다.

  • 이제 PMA를위한 tmp 디렉토리를 생성 할 것입니다 : mkdir tmp& chown -R www-data:www-data /usr/share/phpmyadmin/tmp. 마지막 명령은 Apache 웹 서버가 tmp 디렉토리를 소유하고 그 내용을 편집 할 수있게합니다.

편집 2018 년 12 월 12 일

당신은 누군가가 당신의 쿠키를 훔치기를 원하지 않습니다.

https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator 가 PMA의 이전 버전에서 오류를 발생시키는 것으로 나타 났습니다 . 그러나, 주된 이유는 내가 낙담 가 약한 PRNG (의사 난수 생성기) (예를 들어, 사용 여부를 아무 생각이 없기 때문에이처럼 사용 웹 사이트에 당신을 rand(), mt_rand()그리고 lcg_value()() 또는 "셔플"기능 중 하나를 예를 들면 str_shuffle(), shuffle(), array_rand()). 그래서 나는이 목적을 위해 나만의 도구를 만들었습니다. 보안이나 오류에 대한 염려없이 사용할 수있는 암호로 안전한 32 자 문자열을 생성합니다! 임의성 http://php.net/manual/en/function.random-int.php 를 생성하는 데 사용하는 기능에 대한 PHP 매뉴얼 페이지 . 이전 링크를 다음 링크로 바꿨습니다.https://www.motorsportdiesel.com/tools/blowfish-salt/pma/ .


좋은 기드 라인! 몇 가지 단계를 수행하여 다음과 같이 수행했습니다. a) 이전 버전을 제거하는 대신 이름을 바꿨습니다. b) phpmyadmin여러 버전간에 쉽게 전환 할 수있는 기호 링크를 만드는 것이 편리 할 수 있습니다.
AntonK

최선의 선택이라고 생각되는 답변을 여기에 복사했습니다 . 당신이 당신의 자신의 대답을하고 싶다면, 말해 저를 제거합니다.
PhoneixS

괜찮아. 신용에 대한 큰 감사와 저에게 알려주는 품위를 가지고 있습니다! @PhoneixS
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
나를 위해 매력처럼 일했다
Norman Bird

이제 훨씬 나아 졌어요! 데비안 (및 우분투)은 패키지를 업그레이드해야합니다. 추신. 심지어 PHP 7.3을 실행 중입니다.
danger89

3

위에서 언급했듯이 파일을 수동으로 업데이트해야하지만 파일이있는 위치 (/ usr / share)를 찾기 위해 1 시간 동안 검색하여 파일이 / var / www / html에 배치되는 것을 알았습니다. . 현재 주장하는 위의 저장소를 추가 한 후 apt-get install phpmyadmin으로 소프트웨어를 설치 한 경우 최소한 php7.2 라이브러리가 필요합니다. 그런 다음 / usr / share로 이동하여 git를 복제하여 새 버전 (4.8)을 / usr / share / phpmyadmin에 설치해야합니다. git clone https://github.com/phpmyadmin/phpmyadmin.git (나는 먼저 rm -rf phpmyadmin을 했음) 오래된 코드가 남아 있지 않은지 확인하십시오. 그런 다음 웹 인터페이스로 이동하면 최신 버전이 사용되는 것을 볼 수 있습니다. 그런 다음 phpmyadmin으로 cd하고 다음을 실행하십시오. composer update --no-dev 필요한 추가 라이브러리를 가져옵니다. 이것은 훌륭하게 실행되는 4.9.0-dev를 설치하고 우분투 16.04.4를 실행 중입니다. 고마워 이것이 누군가가 시간을 절약하는 데 도움이되기를 바랍니다.


고마워! 내 하루를 구했다! 그러나 나는 github.com/blackmambano5/phpmyadmin.git 안정 버전 을 사용하기로 결정했습니다. 이 버전은 4.8.1이며 모든 것이 작동합니다!
gfivehost

감사합니다. Github가 아닌 zip으로 설치했지만 큰 차이는 없습니다. 큰 단락을 단계 목록으로 나누기 위해 질문을 편집하는 것이 좋습니다.
pgr

다음 과 같이 git에서 최신 안정 버전을 가져 오는 것이 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_typeIS를 cookie하고 host호스트가 무엇이든이다. 이 설정은 로그인 할 때 사용자 이름과 비밀번호를 입력하게합니다.

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

2

최신 버전이 정말로 필요한 경우 phpMyAdmin 아카이브를 사용합니다 . 의존성이 있음을 명심하십시오 (새로운 PHP도 필요합니다).

PPA 설명

최신 phpMyAdmin을 패키지 - https://www.phpmyadmin.net/ . 데비안에서 사용 가능한 패키지를 기반으로합니다.

몇 가지 눈에 띄는 변화가 있습니다 :


2
그는 설치를 다운로드 할 수있는 곳이 아니라 최신 버전으로 업데이트하는 방법을 물었다 고 생각합니다.
Tarik

1
2018 년 7 월, 해당 PPA는 여전히 4.6.6 (버그 포함)이고 phpMyAdmin은 4.8 (버그 제외)입니다. PPA가 더 이상 유지되지 않는 것 같습니다.
Steve

이 PPA를 사용했습니다-4.9.0, 너무 나쁘지 않음-최신은 4.9.1입니다. 인생을 단순하게 만듭니다.
nrapopor

0

Docker를 사용하여 최신 phpmyadmin을 실행하는 것이 좋습니다. 설정이 간단하고 모든 종속성이 자동으로 관리되며 로컬 설치와 상호 작용하지 않습니다. 25MB의 RAM을 사용하므로 메모리 호그도 아닙니다.

어떤 플랫폼에서든 최신 phphmyadmin을 실행하기가 매우 쉽습니다.

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


0

Crimson501의 답변은 우분투에서 우분투에서 복어와 tmp 파일 문제를 해결하기 위해 기존 구성과 우분투가 사용하는 tmp 디렉토리를 참조하기 위해 다음 파일을 수정해야하지 않는 한 완벽합니다.

선호하는 텍스트 파일 편집기를 사용하여 수정하십시오.

/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

here에 나온 지침에 따라 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.