WordPressのプラグイン「NextScripts: Social Networks Auto-Poster」でメモリ不足のエラーに遭遇したので、その対処法。
フォーラムを設置しているサイト「photo-forum.jp」で、フォーラムへの投稿をTwitterに配信するために、「NextScripts: Social Networks Auto-Poster」を使用していた。
ところが、「Not Enough Memory allowed for PHP. You have ○○ MB. You need at least 64MB.」という警告が出て、プラグインが停止してしまった。
※○○MBのところは、環境によって異なる。
いちおう、プラグインの開発者サイトへのヘルプページへの案内があり、
1.6。 PHPのメモリが不足しています
私はこのエラーを取得しています “Not Enough Memory for PHP。 あなたは32 MBを持っています。 あなたは少なくとも64MBの “
バージョン3.0以降、64 MBの許可されたPHPメモリがプラグインに必須です。 WordPressはそれだけで25-30 MBのメモリを使います。 プラグインは21のネットワークをサポートし、5〜7 MB
それを32MBのウェブサイトで使用すると、サイトがメモリ不足になり、パフォーマンスが低下します。
技術的な詳細が必要な場合:
プラグインはこの関数を使ってメモリを検出します:$memory_limit = ini_get(‘memory_limit’);
あなたのサーバが実行時のphp.ini変数の変更を許可している場合、これをwp-config.phpファイルに置くことができます:
define( ‘WP_MEMORY_LIMIT’, ’64M’ );
それ以外の場合は、php.iniファイルで直接変更する必要があります。 これを行う方法がわからない場合は、ホスティングプロバイダまたはサーバー管理者にお問い合わせください。
というような記述がある。(Google翻訳)
wp-config.phpに、
define( ‘WP_MEMORY_LIMIT’, ’64M’ );
を書き加えればいいとなっている。
わかる人にはわかるという書き方なので、wp-config.phpのどこに記述すればいいのかまでは触れていない。
どこでもいいわけではなく、有効になる場所に書かないとだめらしい。
じゃあ、どこに?……ということで、
define('WPLANG', 'ja'); /*←元からある記述*/define('WP_MEMORY_LIMIT', '64M'); /*←ここに記述を挿入。*/
※注:すべて半角英数に。ページ上の表示は全角になっている場合がある。
という注釈の前の行にメモリ上限の記述をすればいいみたい。
末尾に記述しても有効にはならないので、注意を。
このプラグインについての解説サイトをいろいろと調べてみたが、具体的に解決法を記しているページに行き当たらなかったので、忘備録として書いておく。