주문하기 버튼을 클릭하면 결재는 잘 되는데 결재 성공 화면이 안나옵니다.
주소랑 다 넣고 주문하기 버튼을 누르고 KCP를 통한 신용카드 결제도 마치면 페이지가 한참동안 멈춰있다가 화면에 아래와 같은 문구가 나옵니다.
select b.it_sell_email, a.it_id, a.it_name from g5_shop_cart a left join g5_shop_item b on ( a.it_id = b.it_id ) where a.od_id = '2014071815154833' and a.ct_select = '1' and b.it_sell_email <> '' group by a.it_id
2006 : MySQL server has gone away
error file : /gb5/shop/orderformupdate.php
하지만 관리자로 들어가보면 일단 주문은 성공적으로 접수 되어있고 카드 결제도 정상적으로 처리되어있습니다.
구매자 아이디로 마이페이지에 들어가봐도 성공적으로 주문 되어있는걸로 나오고요.
신용카드로 해도, 무통장입금으로 해도 마찬가지로 에러 화면이 표시 됩니다.
한 4번에 3번 정도는 위와 같은 현상이고, 한번 정도는 정상적으로 주문결제 내역 화면이 표시가 됩니다.
뭐가 문제인걸까요...
답변 6개 / 댓글 3개
아니면 해당 페이지 상단에
ini_set('mysql.connect_timeout', 300);ini_set('default_socket_timeout', 300);
를 추가해보세요..
이 방법을 먼저 사용해보세요
대기시간을 5분으로 늘려주는거구요
호스팅사에서 설정된 mysql 연결 시간이 짦아서 생기는 문제일 가능성이 큽니다...
정확히 이런 문제다! 라고 말씀드릴수 있는 문제는 아닌것 같습니다만...
제 생각에는 페이지가 한참 멈춰있는다고 하셨는데요...
그때 시간 초과로 연결이 해제되었을 가능성도 있습니다...
일단 해볼수 있는거중 한가지 말씀드리자면....
문제가 있던 /gb5/shop/orderformupdate.php 파일에서...
해당 쿼리문 위쪽에 mysql에 재 접속하도록 코드를 추가해보세요.
select b.it_sell_email, a.it_id, a.it_name from g5_shop_cart a left join g5_shop_item b on ( a.it_id = b.it_id ) where a.od_id = '2014071815154833' and a.ct_select = '1' and b.it_sell_email <> '' group by a.it_id
아래 팁 한번 참고해보세요
답변에 대한 댓글 1개
// DB 연결
function sql_connect($host, $user, $pass)
{ global $g5;
return @mysql_connect($host, $user, $pass, true);
}
이렇게 바꿔보았으나 에러는 여전한거 같습니다. ㅠㅠ
http://sir.co.kr/qa/?wr_id=30025
이 분께서 올린 문제와 같은거 같은데 해결책을 못찾겠네요.
답변을 작성하려면 로그인이 필요합니다.
첫번째 ini_set('mysql.connect_timeout', 300); 요것만 shop/orderformupdate.php 에 넣어주니 타임아웃이 일어나지 않아서 에러가 나지 않는 것 같습니다. 감사합니다! ^^