Ubuntu18.04의 phpmyadmin 오류 수정

2214 단어 phpMyadminubuntu18.04


Warning in ./libraries/sql.lib.php#613
 count(): Parameter must be an array or an object that implements Countable

Backtrace

./libraries/sql.lib.php#2128: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#2079: PMA_executeQueryAndGetQueryResponse(
array,
・・・・・・

환경


  • 우분투 18.04
  • phpMyAdmin 4.6.6 documentation
  • MariaDB mysql Ver 15.1 Distrib 10.1.44-MariaDB,
  • PHP 7.2

  • 위의 모든 배포판의 표준 패키지로 설치되었습니다.

    해결 방법 선택



    이 문제는 4.7.4의 phpmyadmin에서 해결 된 것 같습니다.
    htps //w w. php야 d민. 네 t/네 ws/2017/8/24/php여 d민-474-레아세 d/

    최신 공식 패키지를 설치하는 등의 방법도 있지만,
    이번에는 설치된 php 스크립트를 다시 작성하여 대응합니다.

    다시 쓰기 방법



    다음을 바탕으로 대응했습니다.
    
    vim /usr/share/phpmyadmin/libraries/sql.lib.php
    

    613행 근처
    
    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;
    }
    

    의,
    
                || (count($analyzed_sql_results['select_expr'] == 1)
    


                || ((count($analyzed_sql_results['select_expr']) == 1)
    
    

    로 고쳐 해결합니다.

    여기의 count 함수가 괄호로 닫히지 않는 것이 원인이라고 합니다.

    좋은 웹페이지 즐겨찾기