
WordPressでいろいろプラグインを入れているとメモリが不足してくることがあります。表示が遅くなったり、場合によっては真っ白な画面になったりしてしまいます。今回はそんな時にメモリ上限を上げる方法を紹介します。
見出し
WordPressのメモリ上限の書かれたファイル
それでは設定ファイルから見ていきましょう。
WordPressのメモリ上限の書かれたファイルは「default-constants.php」です。
Xserverの場合は、「ドメイン名 -> public_html -> wp-includes -> default-constants.php」にあります。
WordPressのメモリ上限の設定値
WordPressのメモリ上限の設定値は以下の2種類あり、それぞれ目的が異なります。
WP_MEMORY_LIMIT
- PHPが使用するメモリの上限を決める値
- デフォルトは40MB(シングルサイト)、64MB(マルチサイト)
- 「Allowed memory size of xxxxxx bytes exhausted」のようなエラーが発生している場合は上げる必要がある
WP_MAX_MEMORY_LIMIT
- 管理者タスクを実行時に、PHPが使用するメモリの上限を決める値
- デフォルトは256M
- 通常は管理者タスクはメモリを多く使うため、WP_MEMORY_LIMITより大きい値を設定する
詳しくはwordpress.orgの公式サイトを参照して下さい。
WordPressのメモリ上限を上げる
それでは実際に設定値を変更してみましょう。今回は、通常のシングルサイトだと仮定して、控えめにWP_MEMORY_LIMITを96MBに変更してみましょう。
// Define memory limits.
if ( ! defined( 'WP_MEMORY_LIMIT' ) ) {
if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
define( 'WP_MEMORY_LIMIT', $current_limit );
} elseif ( is_multisite() ) {
define( 'WP_MEMORY_LIMIT', '64M' );
} else {
define( 'WP_MEMORY_LIMIT', '96M' );
}
}
if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
} elseif ( -1 === $current_limit_int || $current_limit_int > 268435456 /* = 256M */ ) {
define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
} else {
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
}
}
上記の色がついている所が設定値で、6行目がWP_MEMORY_LIMIT(マルチサイト)、8行目がWP_MEMORY_LIMIT(シングルサイト)、18行目がWP_MAX_MEMORY_LIMITになります。今回の場合はシングルサイトですから、8行目を40M -> 96Mに変更すれば完了です。
最後に
いかがでしたか?WordPressをある程度使いこなしてくるとどうしてもメモリ上限を上げる必要が出てきます。エラーが出ても焦らずに対処しましょう。


コメントを残す