제가 엄청난(?) 일을 만들었네요. ㅎㅎ
php 버전이 낮아서 7.0으로 업하면서 사이트가 접속이 안되네요.
cPanel 에서 백업/복구를 몇 번을 해봐도 안되네요.
그래서 이런 방법은 어떻게 되는지 문의 드립니다.
1. 호스팅 받고 있는 사이트의 폴더를 삭제를 하고
2. 백업 받은 XE 의 data 를 올리고
3. 백업 받은 sql 을 연결을 하는 방법 - 이걸 연결하는 방법을 모릅니다. ㅜ.ㅜ
이런 방법이 가능할까요?
제가 엄청난(?) 일을 만들었네요. ㅎㅎ
php 버전이 낮아서 7.0으로 업하면서 사이트가 접속이 안되네요.
cPanel 에서 백업/복구를 몇 번을 해봐도 안되네요.
그래서 이런 방법은 어떻게 되는지 문의 드립니다.
1. 호스팅 받고 있는 사이트의 폴더를 삭제를 하고
2. 백업 받은 XE 의 data 를 올리고
3. 백업 받은 sql 을 연결을 하는 방법 - 이걸 연결하는 방법을 모릅니다. ㅜ.ㅜ
이런 방법이 가능할까요?
얘네들이 남김 댓글이네요. 아까 접속 됐다가 또 안되네요. ㅜ.ㅜ
XE가 PHP 7.0은 지원하지 않는다는데 맞나요? 아무래도 뭔가 서로 커뮤니케이션이 잘 안되고 있는듯 하네요.
그래서 다시 PHP 버전을 5.6으로 다운했더니 접속이 되네요. XE가 PHP 7.0 은 안되는게 맞나요?
I would like to inform you, that this issue is caused by the fact, that your XpressEngine application does not support PHP 7, as you can verify from the following error_log entry:
[07-Aug-2017 23:11:04 UTC] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/classes/db/DBMysql.class.php:76
Stack trace:
#0 /home/MYDOMAIN/classes/db/DB.class.php(1288): DBMysql->__connect(Array)
#1 /home/MYDOMAIN//classes/db/DBMysql.class.php(49): DB->_connect()
#2/home/MYDOMAIN//classes/db/DBMysql.class.php(58): DBMysql->DBMysql()
#3/home/MYDOMAIN//classes/db/DB.class.php(168): DBMysql::create()
#4 /home/MYDOMAIN//config/func.inc.php(205): DB::getInstance()
#5 /home/MYDOMAIN//modules/session/session.controller.php(34): executeQuery('session.getSess...', Object(stdClass))
#6 [internal function]: sessionController->write('i0h1f4c8kqictg4...', '')
#7 {main}
thrown in /home/MYDOMAIN/classes/db/DBMysql.class.php on line 76
The mysql_* functions have been removed in PHP7, which is causing this error.
I have tested this, and the application is indeed functioning properly on PHP 5.6, as you can verify from the following screenshot:
db.config.php에서 mysql 또는 mysql_innodb로 되어 있는 설정이 있으면 모두 mysqli 또는 mysqli_innodb로 바꿔주세요. i자 하나만 넣으면 됩니다.
db_type이라고 되어 있는 두 부분에 각각 i를 추가하시면 됩니다.
PHP에서 MySQL에 접속하는 방법은 두 가지가 있어요. PHP 4.x와 5.x에서는 mysql 함수를 사용하고, PHP 5.x와 7.x에서는 mysqli 함수를 사용합니다. XE에서는 설치 시점에 둘 중 하나를 선택하도록 되어 있고요.
XE가 처음 나왔을 때는 PHP 4.x 호환성까지 고려했기 때문에 mysql이 기본값이었어요. 5.x에서는 두 가지 모두 사용할 수 있기 때문에 문제가 없었고요. 하지만 PHP 7.x에는 mysqli밖에 없기 때문에 mysql 함수를 사용하려고 하면 오류가 나지요. 예전부터 운영해 오신 사이트라면 수동으로 바꿔줘야 합니다.
네. XE를 설치하고 사용한지는 2년 정도 되어 갑니다. 그리고 매번 업데이트만 하기만 했어요.
@기진곰 님 말씀은 db.config.php 파일을 열어서 2곳의 mysql 에 i 를 추가하고 저장을 한 후에
cPanel 의 php 버전 변경에서 7.0 으로 변경을 하면 된다는 말씀이죠?
하~ 근데 사실 겁부터 나네요. 오늘 몇 시간을 헤매다가 php 를 5.6 으로 되돌려야 된다는 걸 호스팅 얘네들이 알아낸거라서요. 7.0 에서 5.6으로 바꾸니 바로 접속이 되기는 했는데 좀 겁나네요. ㅎㅎ
.
.
i 를 추가하고 php 7.0 으로 변경을 했는데 사이트에 접속이 되네요. ㅎㅎ 이제 이상없이 잘 되겠죠? ^^
해결했네요. 호스팅 업체에서 몇 번 복구 작업을 하더니 결국 해결을 해주네요.
cPanel 을 이용한 백업 방법이 몇 가지가 있네요. 이거 너무 헷갈리고 혼란스럽네요.
혹시 cPanel 사용하는 분중에 백업(data / db) 어떻게 하시는지 공유 부탁드립니다.