SSL 업데이트 후 사이트 에러
본문
현 사이트와 오래된 사이트를 동시에 운영을 하고 있습니다.
최근 SSL로 변경해서 작업을 하고 나서 다음과 같은 에러가 나면서 이전 사이트가 동작을 하지 않습니다.
Fatal error: Uncaught Error: Call to undefined function mysql_query() in /home/kccaus5/public_html/oldsite/lib/common.lib.php:1106 Stack trace: #0 /home/kccaus5/public_html/oldsite/common.php(258): sql_connect('localhost', '-------', '-------') #1 /home/kccaus5/public_html/oldsite/_common.php(3): include_once('/home/kccaus5/p...') #2 /home/kccaus5/public_html/oldsite/index.php(2): include_once('/home/kccaus5/p...') #3 {main} thrown in /home/kccaus5/public_html/oldsite/lib/common.lib.php on line 1106
데이터 베이스도 그대로이고 다른 파일도 건드린게 없는 듯한데 라이브러리에서 에러가 나서 페이지가 뜨지 않네요.
혹시 어딜 살펴봐야되는 지 조언 부탁 드립니다. 위에 나오는 위치는 다음과 같고요.
// 폴더의 용량 ($dir는 / 없이 넘기세요)
function get_dirsize($dir)
{
????$size = 0;
????$d = dir($dir);
????while ($entry = $d->read()) {
????????if ($entry != "." && $entry != "..") {
????????????$size += filesize("$dir/$entry");
????????}
????}
????$d->close();
????return $size;
}
/*************************************************************************
**
**??SQL 관련 함수 모음
**
*************************************************************************/
// DB 연결
function sql_connect($host, $user, $pass)
{
????global $g4;
????if (strtolower($g4['charset']) == 'utf-8') @mysql_query(" set names utf8 ");
????else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query(" set names euckr ");
????return @mysql_connect($host, $user, $pass);
}
변경된 파일들이라곤 .htaccess 와 ssl관련 새 폴더 등인데 도무지...
답변 기다릴게요
!-->!-->
답변 4
mysql 들어가는 함수들 모두를 mysqli 로 i를붙여 시도해 보시죠.
에를 듦면 mysqli_connect() , mysqli_query() 등등
해당 오류가 나는 계정의 php 버전이 7.x로 바뀌었을 가능성이 제일 큽니다.
7부터는 아예 removed function으로 나와서 위처럼 함수를 찾을 수 없다는 치명적인 에러 메시지가 뜹니다.
php 버전을 먼저 확인해 보시고 7.0 이상이라면 mysqli를 사용하시거나 pdo 추천합니다.
참고로 해당 오류는 ssl 설치와 무관합니다.
저도 @왕계란 님 말씀대로 pdo를 추천드립니다...
mysqli 가 변경 하기엔 시간적으로나 모든 면에서 편하고 좋지만...
php7대에선 pdo를 사용하는 버릇을 들이시는것도 하나의 방법이라 생각합니다.
어디까지나 개인차라 생각합니다.
그냥 mysqli 와 pdo 둘다 하시면 더할 나위 없겠지만...ㅜㅜ
아 고맙습니다. pdo는 잘몰라서... 가능 하시면 관련 자료 추천 바랍니다.
답변을 작성하시기 전에 로그인 해주세요.