기존 php5를 사용하던 autoset9(아마)에서 오토셋10으로 변경했습니다.
php는 7.x대 버전이고요.
<?php if(!defined("__XE__")) exit(); $db_info = (object)array ( 'master_db' => array ( 'db_type' => 'mysql', 'db_port' => '3306', 'db_hostname' => 'localhost', 'db_userid' => 'root', 'db_password' => 'autoset', 'db_database' => 'eond', 'db_table_prefix' => 'xe_', ), 'slave_db' => array ( 0 => array ( 'db_type' => 'mysql', 'db_port' => '3306', 'db_hostname' => 'localhost', 'db_userid' => 'root', 'db_password' => 'autoset', 'db_database' => 'eond', 'db_table_prefix' => 'xe_', ), ), 'default_url' => 'http://localhost/', 'use_rewrite' => 'N', 'time_zone' => '+0900', 'use_prepared_statements' => 'Y', 'qmail_compatibility' => 'Y', 'use_db_session' => 'Y', 'use_ssl' => 'none', 'use_sso' => 'N', 'use_cdn' => 'Y', 'use_html5' => 'N', 'use_mobile_view' => 'Y', 'admin_ip_list' => NULL, 'sitelock_whitelist' => array ( 0 => '127.0.0.1', ), );
원래 db.config.php파일은 이런데
xe 최신버전에껄 가져오니 이렇더군요.
<?php if(!defined("__XE__")) exit(); $db_info = (object)array ( 'master_db' => array ( 'db_type' => 'mysql', 'db_port' => '3306', 'db_hostname' => '127.0.0.1', 'db_userid' => 'root', 'db_password' => 'autoset', 'db_database' => 'eond', 'db_table_prefix' => 'xe_', ), 'slave_db' => array ( 0 => array ( 'db_type' => 'mysql', 'db_port' => '3306', 'db_hostname' => '127.0.0.1', 'db_userid' => 'root', 'db_password' => 'autoset', 'db_database' => 'eond', 'db_table_prefix' => 'xe_', ), ), 'default_url' => 'http://localhost/eond/', 'use_mobile_view' => 'Y', 'use_rewrite' => 'Y', 'time_zone' => '+0900', 'use_prepared_statements' => 'Y', 'qmail_compatibility' => 'N', 'use_db_session' => 'N', 'use_ssl' => 'none', 'sitelock_whitelist' => array ( 0 => '127.0.0.1', ), 'use_sso' => 'N', 'use_html5' => 'N', 'admin_ip_list' => NULL, );
여기서도 오류가 뜨길래, class/db/dbmysql.class.php 파일에서
mysql_을 모두 mysqli_로 수정하니 사이트는 정상적으로 뜹니다만..
백지로 뜹니다.
레이아웃 설정 모두 안한거처럼요.
admin으로 들어가도 로그인페이지가 안뜹니다.
어떤걸 확인해야할까요.
db.config.php에서 mysql을 mysqli로 수정하면 db정보를 확인하라는 xe안내메시지가 뜨고요. ㅠ
오토셋에는 MySQL(MariaDB)도 포함되어 있으니, DB가 재설치되었다면 기존의 DB 아이디/비번이 먹히지 않거나 아예 DB 내용이 다 날아갔을 수도 있습니다. 사이트가 돌아가고 있는 서버를 재설치하는 작업에는 상당한 리스크가 있지요...
PHP 7에서 작동하지 않는 서드파티 자료가 있을지도 모릅니다. 오토셋 최신 버전은 PHP 7.2가 포함되어 있는데, 아직 BaseObject 대응이 되지 않은 자료가 널렸거든요. 이건 서버의 에러 로그를 확인해 보면 됩니다. 직접 운영하시는 서버라면 로그파일과 친해지셔야 해요. 문제가 있으면 XE타운 접속하기도 전에 우선 로그파일부터 뒤져보는 습관을 들이시기 바랍니다.^^
mysql을 mysqli로 수정하는 것은 문제의 원인이 아니라 해결책의 일환입니다. PHP 7이라면 이건 당연히 수정해야 하는 것이고, 이것 때문에 안 되는 것도 아니고, 어떤 이유로도 다시는 mysql로 돌아갈 필요가 없습니다.