php7설치후 그누보드 설치시 에러

php7설치후 그누보드 설치시 에러

QA

php7설치후 그누보드 설치시 에러

본문

Fatal error: Uncaught Error: Call to undefined function sqli_connect() in /var/www/html/lib/common.lib.php:1420 Stack trace: #0 /var/www/html/install/install_db.php(28): sql_connect('localhost', 'DBID', 'DBPW', 'php7') #1 {main} thrown in /var/www/html/lib/common.lib.php on line1420 


이런 에러가 나오는데요,, 뭐가 문제일가요?

고수분들의 조언 부탁드립니다.


서버는

우분투 14.04

아파치 2.4.16

PHP 7.1.0 dev

이 질문에 댓글 쓰기 :

답변 7

오류 메세지를 자세히 보시면 sqli_connect() 함수를 호출하고 있습니다.

그누보드5에는 sqli_connect() 함수는 포함되어 있지 않습니다.

배포판의 common.lib.php 1420 라인의 코드는 아래와 같습니다.

 


$link = mysqli_connect($host, $user, $pass, $db); 

 

패치를 제대로 하지 않으신 것으로 생각됩니다.

그누 5.1.3 버전 그대로 올렸는데 아래와같은 에러가나네요 ``;

Warning: mysqli_connect(): Headers and client library minor version mismatch. Headers:50543 Library:100108 in /var/www/html/lib/common.lib.php on line 1420

Warning: mysqli_connect(): (42000/1049): Unknown database 'GNU-AMINA' in /var/www/html/lib/common.lib.php on line 1420
Connect Error: Unknown database 'GNU-AMINA'

전혀 수정하지않았는데 말이죠 흐


// DB 연결
function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
{
    global $g5;

    if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
        $link = mysqli_connect($host, $user, $pass, $db);

        // 연결 오류 발생 시 스크립트 종료
        if (mysqli_connect_errno()) {
            die('Connect Error: '.mysqli_connect_error());
        }
    } else {
        $link = mysqli_connect($host, $user, $pass);        
    }

    return $link;
}

오류 내용을 자세히 보시면 원인이 나와 있습니다.

Warning: mysqli_connect(): Headers and client library minor version mismatch. Headers:50543 Library:100108

mismatch 즉 서로 버전이 달라서 문제가 발생하고 있습니다. 위의 phpinfo 화면을 보시면
client library 와 header liberary 버전이 서로 다르게 표시되고 있습니다.

단순 DB 커넥션 오류 같은데 최근에 릴리즈된 그누보드 버전으로 설치 하셨나요?

에러 내용이 아래처럼 바뀌었네요..

 

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/lib/common.lib.php:1427 Stack trace: #0 /var/www/html/install/install_db.php(28): sql_connect('localhost', 'root', '123', 'php7') #1 {main} thrown in /var/www/html/lib/common.lib.php on line1427 

define('G5_MYSQLI_USE', false) 하면안됩니다. true 로 하셔야 합니다.  

 

컴파일 할때 mysqli 를 지원하도록 업션에 넣었나요? 

phpinfo() 해서 DB부분 살펴보세요 mysqli 가 설치되지 않으면 그누보드 설치가 안됩니다.

http://php.net/manual/en/mysqli.ping.php

 

php.ini에

mysqli.allow_persistent = On

으로 되어 있을 때

 mysqli.reconnect=Off

면, 이런 

“MySQL server has gone away” 

 

이런 상황이 발생하는 듯합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,592 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT