테스트 사이트 - 개발 중인 베타 버전입니다

php7설치후 그누보드 설치시 에러 채택완료

작은앙심 10년 전 조회 17,047

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개

채택된 답변
+20 포인트
편리
10년 전

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

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

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

 

</p><p>$link = mysqli_connect($host, $user, $pass, $db); </p><p>

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

작은앙심
10년 전
그누 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'

전혀 수정하지않았는데 말이죠 흐
[code]
// 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;
}
[/code]
편리
10년 전
오류 내용을 자세히 보시면 원인이 나와 있습니다.

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

mismatch 즉 서로 버전이 달라서 문제가 발생하고 있습니다. 위의 phpinfo 화면을 보시면
client library 와 header liberary 버전이 서로 다르게 표시되고 있습니다.
작은앙심
10년 전
버전을 어떻게 맞춰야하나요? 이쪽에 무지한지라..
디비 버전을말하는건지 php 버전을 말하는건지 모르겠네요 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

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

 

php.ini에

mysqli.allow_persistent = On

으로 되어 있을 때

 mysqli.reconnect=Off

면, 이런 

“MySQL server has gone away” 

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

왈라스
6년 전
엑스님 땡큐......

댓글을 작성하려면 로그인이 필요합니다.

작은앙심
10년 전

진서기님 스샷 첨부 했습니다!

 




 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

진서기
10년 전

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

작은앙심
10년 전
댓글로 스샷첨부했습니다 적용이 된것이 아닌지요?

댓글을 작성하려면 로그인이 필요합니다.

진서기
10년 전

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

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

작은앙심
10년 전
true로해도 같은현상이여서요

컴파일할때 mysqli 옵션안넣은거같네요..

간단하게 적용할수있는건가요? 해보질 못해서 ㅜ

댓글을 작성하려면 로그인이 필요합니다.

작은앙심
10년 전

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

 

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 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10년 전
단순 DB 커넥션 오류 같은데 최근에 릴리즈된 그누보드 버전으로 설치 하셨나요?
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

작은앙심
10년 전
네 그누보드 최신버전입니다.

config.php 에

// MySQLi 사용여부를 설정합니다.
define('G5_MYSQLI_USE', false); 이렇게해도 에러가나네요 ㅜ

DB는 마리아DB 10.1 사용중입니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인