16.04의 phpmyadmin에서 "사용 중단 통지"오류


11

16.04에서 phpmyadmin을 시작할 때 오류가 발생합니다.

Deprecation Notice in ./../php/php-gettext/streams.php#48

Backtrace

./../php/php-gettext/gettext.inc#41: require()
./libraries/select_lang.lib.php#477: require_once(./../php/php-gettext/gettext.inc)
./libraries/common.inc.php#569: require(./libraries/select_lang.lib.php)
./index.php#12: require_once(./libraries/common.inc.php)

위와 동일한 역 추적으로 다음과 같이 계속됩니다.

Deprecation Notice in ./../php/php-gettext/streams.php#84
Deprecation Notice in ./../php/php-gettext/streams.php#145
Deprecation Notice in ./../php/php-gettext/gettext.php#36

최신 gettext 및 mbstring에 있는지 업데이트하고 확인했습니다. 해결에 대한 생각?


이 튜토리얼 은 활성화 할 필요가 있다고 mcryptmbstringPHP 모듈을 아파치를 다시 시작합니다. 네가 했니?
bistoco

예 mcrypt와 mbstring을 업데이트하고 아파치를 다시 시작했습니다.
tseward

php / mysql 버전에 맞는 [패키지 직접 다운로드] ( phpmyadmin.net/downloads )를 추천합니다.
bistoco

답변:


29

이것은 당신이 충분히 모험적인지 여부에 달려 있습니다. 오류를 이해하면 PHP에 오래된 클래스 생성자가 있음을 의미합니다.

OLD Php 클래스 생성자

Class myclassname {

    function myclassname() {
      //This is a constructor
    }

새로운 PHP 클래스 생성자

Class myclassname {
    function __construct() {
      //this is the new constructor using __construct instead of the same function name as class name.
}

그래서 제가 한 일은로 이동했다 /usr/share/php/php-gettext/stream.php/usr/share/php/php-gettext/gettext.php(또는 어떤 파일을 사용자의 오류에 명시된) 파일 변경으로 이동 function myclassname()function __construct.

함수 myclassname는 CLASS myclassname선언 과 동일해야합니다 .

최신 gettext를 사용하여 우분투 16.04를 사용하는 경우 약 4 개의 오류가 표시됩니다. 나는 단지 그것을 바꾸고 그것은 당신의 시스템에 해롭지 않습니다. 구식 프로그래밍 구문이므로 향후 업그레이드해도 아무런 문제가 없습니다. 안전한 편집이라고 말할 것입니다.

실제로 중요한 변경 사항이 아니며 구문 업데이트입니다. apt-get 패키지에서 설치하면 직접 컴파일하지 않으면 다른 선택의 여지가 없습니다.

sudo nano /usr/share/php/php-gettext/streams.php

48 행 StringReader 오류.

52 행으로 이동하여 변경

function StringReader ($str='') {

function __construct($str='') {

84 행 FileReader 오류

90 행으로 이동하여 변경

function FileReader($filename) {

function __construct($filename) {

145 행 CacheFileReader 오류

146 행으로 이동하여 변경

function CachedFileReader($filename) {

function __construct($filename) {

사용 sudo nano /usr/share/php/php-gettext/gettext.php.

36 행 gettext_reader {오류

이제 요점을 이해하고 101 행으로 가서

function gettext_reader($Reader, $enable_cache = true) {

function __construct($Reader, $enable_cache = true) {

2
다음을 참조하십시오 : sudo nano /usr/share/php/php-gettext/gettext.phpsudo nano /usr/share/php/php-gettext/streams.php
Technico.top

패키지 된 파일은 20101225에서 제공됩니다. 따라서 백업을 유지하는 것이 항상 수행하는 작업이지만 항상 수정 사항을 수정하지 않은 패키지 업데이트로부터 안전해야합니다.
flowtron

8

나는 누군가의 스페셜 의 훌륭한 답변 에 대해 아직 평판이 충분하지 않기 때문에 대신 답장을 드리겠습니다.

제안 된 편집을 수행하는 한 줄 명령은 다음과 같습니다.

sed -ri.bak의 : function StringReader. * : function __construct ($ str = \ x27 \ x27) {: '/usr/share/php/php-gettext/streams.php
sed -ri의 : function FileReader. * : function __construct ($ filename) {: '/usr/share/php/php-gettext/streams.php
sed -ri의 기능 : 함수 CachedFileReader. * : 기능 __construct ($ filename) {: '/usr/share/php/php-gettext/streams.php
sed -ri.bak의 : function gettext_reader. * : function __construct ($ Reader, $ enable_cache = true) {: '/usr/share/php/php-gettext/gettext.php

저에게 약간의 시간을 절약했습니다 ... thanks man :-)
Adam

5

phpmyadmin에 다른 PPA를 사용할 수 있습니다. PPA 링크입니다.

sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt update
sudo apt install phpmyadmin

우분투 저장소의 phpmyadmin 패키지가 재 빌드 될 때까지 임시 솔루션이거나 최적의 솔루션이 아니기 때문에.


1
이것은 나에게 도움이되었다
Shashank Saxena

이 ppa는 1 년 이상 업데이트를받지 못했습니다.
Laurent

0

phpMyAdmin 문제의 로그인 페이지에있는이 사용 중단 알림 "메시지는 php.ini 파일을 편집하여 쉽게 해결할 수 있습니다. /etc/php/7.0/apache2/php.ini

error_reporting 값을 다음으로 변경하십시오.

error_reporting = ~E_DEPRECATED & E_ALL     

기본적으로 주석 위치에 있으므로 주석을 해제하고 변경하십시오.

그런 다음 Apache를 다시 시작하십시오.

sudo systemctl restart apache2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.