[wordpress] 로컬에서 개발 환경을 구축하면 관리 화면에 로그인할 수 없는데 어떻게 하면 좋을까요?

7431 단어 WordPress
"ksg"라는 단어를 몇 번이나 외쳤어요...

결론


wp-config.php
define('COOKIE_DOMAIN', '');

세부 정보


로그인 불가!!


이미 생산 환경이 생겼지만 맥에서 워드프레스(v3.9) 개발 환경을 구축할 때의 일이다.
음...관리 화면에 로그인할 수 없습니다.

이미 "브라우저가 쿠키를 막거나 지원하지 않습니다. WordPress를 사용하려면 쿠키를 사용해야 합니다."덮어놓고 버티다.
잘못된 정보에서 찾아도
브라우저 내용 및 캐시 삭제
・ 브라우저 쿠키 활성화
브라우저 바꾸기
· 플러그인 비활성화$ mv wp-content/plugins wp-content/_plugins· 비활성화functions.php$ mv wp-content/theme/xxx/functions.php wp-content/theme/xxx_functions.php삭제functions.php의 공백DOMAIN_CURRENT_SITE 이전 도메인 이름입니다.
· DB 사용자의 도메인이 다릅니다.
설정 RELOCATE· 로그인 화면 다시 만들기(?)
아이, 나쁜 놈
잠깐만... 해봐, 하지만 뭘 해도 안 돼!전혀 안 돼!!고치지 못하다
그래서 어쩔 수 없이 소스에서 풀었다.

출처를 판독하다


wp-login.php
 if ( empty( $_COOKIE[ LOGGED_IN_COOKIE ] ) ) {
   if ( headers_sent() ) {
     $user = new WP_Error( 'test_cookie', sprintf( __( '<strong>ERROR</strong>: Cookies are blocked due to unexpected output. For help, please see <a href="%1$s">this documentation</a> or try     the <a href="%2$s">support forums</a>.' ),
       __( 'http://codex.wordpress.org/Cookies' ), __( 'https://wordpress.org/support/' ) ) );
   } elseif ( isset( $_POST['testcookie'] ) && empty( $_COOKIE[ TEST_COOKIE ] ) ) {
     // If cookies are disabled we can't log in even with a valid user+pass
     $user = new WP_Error( 'test_cookie', sprintf( __( '<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href="%s">enable cookies</a> to use WordPress.    ' ),
       __( 'http://codex.wordpress.org/Cookies' ) ) );
   }
 }
오류에서 찾자면, 이것wp-login.php$_COOKIE[LOGGED_IN_COOKIE]은 마치 하늘의 모양인 것 같다.그렇구나.
그럼 이건 어디에 설치할까요, wp-includes/pluggable.php 중에.
wp-includes/pluggable.php
 setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
 setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
 setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true);
하지만 디버깅을 해보니 쿠키가 설정된 것 같습니다. (서버 측에서 성공했다고 합니다.)
setcookie 쿠키가 설치되면true 돌려줍니다.
실제로response-header를 보자마자Set-Cookie잘 돌아왔다.
하지만 크롬의 개발자 도구에 쿠키를 만들지 않았다??이거 어때요?

해결됨


when working on localhost (!) the cookie-domain must be set to ""or NULL or FALSE instead of "localhost"localhost의 COOKIE를 설정할 때 COOKIE_DOMAIN 또는 ""로 설정하면 됩니다.난 몰라.죄송합니다. 저의 나약함(´)ω·`)
따라서 NULL 에서 COOKIE_DOMAIN 으로 설정하면 해결됩니다.
wp-config.php
define('COOKIE_DOMAIN', '');
이렇게 하면 내 다른 워드프레스에 잃어버린 새끼양 몇 마리를 구할 수 있을 거야.

참조 (또는 시도했지만 실패한 FAQ 시리즈)


https://wpdocs.osdn.jp/%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88
http://nymemo.com/wordpress/664/
http://viral-community.com/wordpress/wordpress-login-5280/
http://sho-tem.com/archives/1398

좋은 웹페이지 즐겨찾기