Fatal error: Allowed memory size of 134217728 bytes exhausted 해결

결론부터 말씀드리면 워드프레스 플러그인 끄고 xml 파일 쪼개는 방법으로 워드프레스 가져오기에 성공했습니다.

10여년 동안 작성했던 블로그 다 날려먹나 했는데 다행히 2016년 4월 12일에 백업해 놓은 xml파일이 메일함에 저장되어 있더군요. 오예~ 최근 2년치는 못건지더라도 이게 어딘가요.

그런데 문제는 워드프레스 가져오기 플러그인으로 xml 파일을 불러 오면 다음과 같은 에러가 나면서 가져오기에 매번 실패합니다.

Fatal error: Allowed memory size of 134217728 bytes exhausted


지난 번 백업할 때와 마찬가지로 덩치가 큰 xml 파일을 처리하는데 128M로는 메모리가 부족한 것 같습니다. 그런데 이를 해결하는 방법으로 wp_config.php에 define( 'WP_MEMORY_LIMIT', '256M');를 추가해도 에러 메시지는 같았습니다. 그렇다고 서버 php.ini를 건드릴 수도 없는 노릇이고. 확인해 보니 서버 PHP 메모리 제한이 128M였습니다. 그러니 아무리 워드프레스 메모리를 늘려도 소용없던 거였지요.

이 문제를 해결하기 위해 한참 동안의 구글링을 통해 결국 방법을 알아냈습니다. 워드프레스 플러그인이 원인이었습니다. 이 플러그인들이 서버 메모리를 많이 잡아 먹어서 xml 가져오기에 할당할 메모리가 부족했던 것이죠. 당장 설치된 모든 플러그인들을 끄고 가져오기를 실행했습니다.

그랬더니



워드프레스 가져오기 화면이 뜨는 겁니다! 만세~

그러나 [제출하기] 단추를 눌러 진행하면 또다시 에러가 납니다. "기존의 사용자에게 글이 배정됩니다" - 선택 - 에서 기존 사용자를 선택하고 진행하니 진행됩니다.



그런데 어느 정도 진행하다가(600여개 글 등록) 또다시 메모리 관련 에러가 나오는 겁니다. 계속 해봐도 글이 몇개 정도 추가되다가 계속해서 에러가 뜹니다.

이러다가 밤새겠다 싶어 xml 파일을 열어서 등록된 글들(<item></item>으로 포스트 구분)을 찾아 범위 삭제 후 용량이 작아진 파일을 가져오기 실행하였습니다. xml 파일이 작아지니 처리하는 속도와 글 갯수가 늘어나더군요. 그리하여 세번만에 3,200여개의 포스트가 복구되었습니다.



뭐 포스트 중 몇개는 실패하였는데 뭐 괜찮습니다. 그리고 좋은 경험이었습니다.

그나 저나 사람이 욕심이 끝이 없다고 3천여개의 데이터가 복구되니까 복구하지 못한 최근 2년치 글들이 좀 아깝네요. 이제부터 주기적으로 블로그 백업을 해놔야겠습니다.

댓글

이 블로그의 인기 게시물