에루샤
erusya
Back-end Developer
Web Geek
Anime Otaku
에루샤 프로필 이미지
개발
백엔드

php 7.2 업그레이드 이후 PhpMyAdmin 이슈

350 views as of March 29, 2019.
이 글은 2년 이상 지난 이야기에요. 읽으실때 참고!

php 버전 업그레이드에 따른 문제 발생

php 7.2 버전을 쓰면서 PhpMyAdmin을 사용하면 위와같은 에러가 나타나는 경우가 있습니다. 저는 디비이전 중 import 작업을 하려다보니 해당 페이지에서 아래와 같은 에러가 나타났습니다.


본문 이미지

 

해당 에러에 대해 구글링을 해보니 PHP 메소드 결과값에 대해 사용방식이 변경됨에 따라 경고문구를 띄워주는 사항이었습니다. 무시해도 되는 건이지만 에러 메시지를 보지않으려면 아래와 같이 문제를 해결할 수 있습니다.

 

터미널을 통해 서버에 접속하고 아래 phpmyadmin의 파일을 vi 에디터로 열어서 :/count 를 vi 에디터에 입력해 아래 위치를 찾습니다. 그리고 count()의 밖에 괄호( )를 아래 처럼 다시 한 번 씌워줍니다.

 

sudo vi /usr/share/phpmyadmin/libraries/sql.lib.php

function PMA_isRememberSortingOrder($analyzed_sql_results)
{
    return $GLOBALS['cfg']['RememberSorting']
        && ! ($analyzed_sql_results['is_count']
            || $analyzed_sql_results['is_export']
            || $analyzed_sql_results['is_func']
            || $analyzed_sql_results['is_analyse'])
        && $analyzed_sql_results['select_from']
        && ((empty($analyzed_sql_results['select_expr']))
            || ((count($analyzed_sql_results['select_expr']) == 1)
                && ($analyzed_sql_results['select_expr'][0] == '*')))
        && count($analyzed_sql_results['select_tables']) == 1;
}Copy

 

형변환에 관련되어 생기는 문제 같습니다. 위에 처럼 일부 코드를 변경해주니 별다른 문제가 발생하진 않았네요.




20190329 문제 해결

아래 내용을 더 추가합니다. 하나더 에러가 뜨더라고요. 이유는 위와 같은 사항인걸로 보입니다.

sql 내보내기나 가져오기를 할 때 뜨는 에러로 아래 위치의 파일을 에디터로 열어서 551번째 줄의 if 조건절을 아래와 같이 바꿔주면 됩니다.

 

sudo vi /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

$ret .= '<div id="' . $plugin_name . '_options" class="format_specific_options">';
$ret .= '<h3>' . PMA_getString($text) . '</h3>';

$no_options = true;
if ($options != null) {
    foreach ($options->getProperties()
        as $propertyMainGroup
    ) {
        // check for hidden properties
        $no_options = true;
        foreach ($propertyMainGroup->getProperties() as $propertyItem) {
            if (strcmp('PMA\libraries\properties\options\HiddenItem', get_class($propertyItem))) {
                $no_options = false;
            }
        }
    }
}Copy


#php #SQL #문제해결
0 개의 댓글
백엔드 콜렉션의 다른 글
×