서버이전후 로그인 안되는 현상
본문
안녕하세요 mysql 하위버전에서 5.7버전으로 서버이전을하면서 기존 비밀번호가 안먹히는지
로그인이안되고 회원가입 캡챠도 나오지않고있습니다.
아무래도 상위버전에 따른 패스워드 문제로 보이는데 해결할수있는 방법이 있다면 조언좀 부탁드립니다
답변 6
data 디렉토리 권한 주셧나요?
mysql 에서 old_password 함수 있는지 확인하시고 없으면
없으면 기존 sql_old_password 함수 교체하시면 될거 같습니다.
function sql_old_password($password) {
$nr=0x50305735;
$nr2=0x12345671;
$add=7;
$charArr = preg_split("//", $password);
foreach ($charArr as $char) {
if (($char == '') || ($char == ' ') || ($char == '\t')) continue;
$charVal = ord($char);
$nr ^= ((($nr & 63) + $add) * $charVal) + ($nr << 8);
$nr2 += ($nr2 << 8) ^ $nr;
$add += $charVal;
}
return sprintf("%08x%08x", ($nr & 0x7fffffff), ($nr2 & 0x7fffffff));
}
함수 적용해보시기 바랍니다.
mysql 5.7 에서는 아래 명령어를 실행해서
select password('1234');
값이 출력되지 않거나 에러가 뜬다면 패스워드 복잡성이 설정된 상태입니다.
( 영소문자+영대문자+숫자+특수문자 조합 8 이상을 요구함 )
문의 게시판에서 답변 드린대로 설정을 했는지 다시 확인해 보세요.
lib/common.lib.php 화일에서 기존 sql_old_password($value) 주석처리하시고 새 sql_old_password 추가하시면 됩니다.
mysql 5.5 설치하세요. 저도 알 수 없는 에러들이 생겨서 5.5 사용중입니다. 5.6부터 그런지 5.7부터 로그인이 안되는 현상이 있다고 하더라구요.