PHP의 보안 깁개(패치)인 수호신(Suhosin)에는 PHP 스크립트가 메모리 제한을 마구 늘리는 것을 막는 기능이 있다. 웹 서버의 messages 로그에 쌓이는 경고문을 통하여 이 수호신의 기능이 작동하는 것을 알 수 있다.

suhosin[15069]: ALERT - script tried to increase memory_limit to 268435456 bytes which is above the allowed value (attacker '?.?.?.?', file '/www/abc.com/public_html/wp-admin/admin.php', line 132) 

  메모리 크기가 작은 웹 서버에서는 이 경고문이 자주 뜰 수 있다. 이 경고문을 보고 싶지 않다면, 워드프레스 또는 워드프레스 끼우개가 가장 크게 쓸 수 있는 메모리 제한을 줄이거나 수호신이 허용하는 메모리 제한을 늘리면 된다.

1. 워드프레스 안에서 메모리를 적게 쓰게 하기

  워드프레스의 관리 화면이나 몇몇 끼우개(플러그인) 때문에 수호신의 메모리 제한 경고가 뜰 수 있다. 관리 화면에서 경고가 뜨지 않게 하려면, wp-config.php에 다음 내용을 끼워 넣어 준다. (64M라고 넣은 부분을 알맞은 값으로 고쳐 준다.)

 define( 'WP_MAX_MEMORY_LIMIT', '64M' );

  All in One SEO Pack 끼우개에는 all-in-one_seo_pack.php의 65째 줄에 메모리 최대값을 제한하는 부분이 있다.

if ( ! defined( 'AIOSEOP_BASELINE_MEM_LIMIT' ) )
define( 'AIOSEOP_BASELINE_MEM_LIMIT', 268435456 ); // 256MB

  이를 아래처럼 값을 낮추어 줄 수 있다.

if ( ! defined( 'AIOSEOP_BASELINE_MEM_LIMIT' ) )
define( 'AIOSEOP_BASELINE_MEM_LIMIT', 67108864 ); // 64MB

  All in One SEO Pack의 옛 판에서는 이처럼 PHP를 고쳐서 메모리 제한을 낮출 수 있었는데, 지금은 PHP를 고치지 않고 관리 화면에서 고칠 수 있다. (All in One SEO → Performance → Raise memory limit)

All in One SEO - Performance - Raise memory limit

2. 수호신이 허용하는 메모리 크기 제한 높이기

  php.ini에 다음처럼 내용을 끼워 넣어서 수호신에서 허용하는 메모리 크기 제한을 높일 수 있다. 수호신의 보안 기능을 줄이는 방법이므로 권장하지는 않는다.

suhosin.memory_limit = 256M
2015/02/27 15:10 2015/02/27 15:10
얽힌 글타래
<그물누리 / 워드프레스> 글갈래의 다른 글
글 걸기 주소 : 이 글에 다른 글을 걸 수 없습니다

덧글을 달아 주세요