WordPress에서 "Allowed memory size exhausted" 오류 해결하기
오늘 워드프레스를 사용하다가 Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 163840 bytes)라는 오류를 만났습니다. 이 오류는 PHP 메모리 한도가 초과되었을 때 발생하는데, 이를 해결하는 방법에 대해 정리해 봤습니다.
문제: 메모리 한도 초과
우리가 흔히 볼 수 있는 이 오류는 PHP 메모리 한도가 초과되어 발생합니다. 위 오류 메시지에서 보면 Allowed memory size of 134217728 bytes는 약 128MB의 메모리 한도를 의미하며, 그 이상을 요청하려 할 때 memory exhausted 오류가 발생하게 됩니다.
해결 방법
PHP 메모리 한도 늘리기 가장 간단한 방법은 PHP 메모리 한도를 늘리는 것입니다. 이를 위해서는 몇 가지 방법을 시도할 수 있습니다.
wp-config.php 파일 수정
wp-config.php 파일에 아래 코드를 추가해 보세요.
/* That's all, stop editing! Happy publishing. */ 바로 위에 삽입하면 됩니다.
define('WP_MEMORY_LIMIT', '256M');
이 코드로 메모리 한도를 256MB로 증가시킬 수 있습니다. 더 많은 메모리가 필요한 경우 512M 등으로 설정할 수 있습니다.
php.ini 파일 수정
서버에 직접 접근할 수 있다면, php.ini 파일을 수정해 메모리 한도를 증가시킬 수 있습니다.
memory_limit = 256M
php.ini 파일은 PHP 설정을 관리하는 파일이므로, 이를 통해 메모리 한도를 효율적으로 변경할 수 있습니다.
.htaccess 파일 수정 (Apache 서버)
Apache 서버를 사용 중이라면,. htaccess 파일에 아래 코드를 추가해 PHP 메모리 한도를 변경할 수 있습니다.
php_value memory_limit 256M
플러그인 및 테마 문제 점검
플러그인이나 테마가 메모리를 과다하게 사용할 수 있습니다. 특정 플러그인이나 테마가 메모리 문제를 일으킬 수 있으므로 이를 점검하는 것이 중요합니다.
플러그인 비활성화
먼저 모든 플러그인을 비활성화하고 사이트를 확인해 보세요. 문제가 해결되면, 하나씩 플러그인을 활성화하여 문제가 발생하는 플러그인을 찾아보세요.
기본 테마로 변경
사용 중인 테마가 문제가 될 수 있으므로, 기본 테마인 Twenty Twenty-One 또는 Twenty Twenty-Two 등으로 변경하여 문제가 해결되는지 확인해 보세요.
데이터베이스 최적화
사이트가 커질수록 데이터베이스의 크기도 커지고, 비효율적인 쿼리나 과도한 데이터가 메모리를 과도하게 사용할 수 있습니다. 데이터베이스 최적화는 필수적입니다.
WP-Optimize 플러그인
WP-Optimize와 같은 플러그인을 사용하여 데이터베이스를 정리하고 최적화하세요. 오래된 데이터나 쓰레기 데이터를 제거하여 메모리 사용을 줄일 수 있습니다.
이미지 압축
너무 큰 이미지 파일도 메모리 사용에 큰 영향을 미칩니다. 이미지 압축 플러그인인 Smush나 ShortPixel을 사용해 이미지 크기를 최적화하세요.
서버 메모리 설정 확인
만약 위 방법으로 해결되지 않는다면, 서버 측에서 메모리 한도가 너무 낮게 설정되어 있을 수 있습니다. 이 경우 호스팅 제공업체에 문의하여 PHP 메모리 한도를 늘리거나, 더 높은 사양의 서버로 업그레이드할 수 있는지 확인해 보세요.
에러 로그 확인
메모리 문제의 정확한 원인을 파악하려면 서버의 에러 로그를 확인하는 것이 유용합니다. error_log를 통해 어떤 스크립트나 요청이 메모리를 많이 사용하는지 파악할 수 있습니다. 이 정보를 바탕으로 특정 문제를 해결할 수 있습니다.
캐싱 플러그인 사용
캐싱 플러그인(예: W3 Total Cache 또는 WP Super Cache)을 설치하면, 동적 페이지 요청을 정적 페이지로 캐시 하여 서버의 메모리 사용을 줄일 수 있습니다. 이는 사이트 속도 향상에도 도움이 됩니다.
결론
PHP 메모리 한도 초과 오류는 꽤 흔한 문제이지만, 해결 방법도 다양합니다. wp-config.php 파일을 통해 메모리 한도를 늘리거나, 플러그인 및 테마를 점검하고, 데이터베이스 최적화를 통해 문제를 해결할 수 있습니다. 만약 서버 측 문제라면, 호스팅 업체와의 상담을 통해 서버 환경을 개선할 수도 있습니다.