Local by flywheelでAllowed memory sizeエラー表示時の対策方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

久々に作業で泥沼にハマってしまったので忘れないよう解決策をメモしておきます。

Local by flywheelでAllowed memory sizeエラー表示時の対策方法

当ページに訪れた方であれば「Local by flywheel」がワードプレスをローカル環境で開発する際にスピーディに作業を進められるアプリということはご存知ですよね。念のために関連記事をクリックして読んでいる方や、別のキーワードを調べて訪れた方にも補足しておくと『ワードプレスのテストサイトをパソコン内に5秒以内で新しく立ち上げられる画期的なアプリケーション』が「Local by flywheel」です。

下記がワードプレスを新しく追加設定する画面でカンタンな入力だけですぐにテストサイトが立ち上がります。

たとえば「TEST」の部分に「DEMO」などわかりやすい名前を入力すればOK。参考までに以下は過去にワードプレスをインストールした2つのサイト(BuilderとDEMOという名前で設定)です。

ちなみにインストール時は「PHPのバージョンやサーバーのOS」などを細かく指定可能でとても便利です。

Allowed memory sizeエラーの対策方法について

カンタンに言えば「Allowed memory size」はメモリー不足のエラーです。

現時点のメモリーを確認するためには「phpinfo」を使います。使い方はシンプルで以下を記述したPHPファイルを好きな名前で保存して直接ファイルを開けばOK。もし仮に「info.php」なら配置するだけですね。

<?php
phpinfo();
?>

実際に設定したテストサイトに配置した例が以下です。

ドメインはサイトを立ち上げた際に指定するので「http://test.local/info.php」などで開きます。

メモリーは「memory_limit」という値で管理されています。

上記で言う「256M」の上限を超えたリクエストがあったら「エラー」が出る仕組みです。エラーが出るパターンはいくつか考えられますがデータベースをインポートする際の『容量オーバー』で表示されます。

Allowed memory sizeエラーを解決する方法

ではエラー対策の手順をご紹介いたします。解決方法は大きく2種類があります。

1. memory_limitなど容量の上限を各種設定で緩和する
2. コマンドラインでデータベースをインポートする

まず「1」のサーバー側の容量を設定している値を緩和する手順です。

・php.iniで値を変更する
・htaccessで値を変更する
・wp-config.phpで値を変更する

前提としてどの設定を変更しても「Local by flywheel」では立ち上げたサイトを再起動が必要となります。再起動はアプリケーション上でカンタンに行えます。以下の通り「STOP SITE」をクリックするだけです。

💻手に職をつけて安定的に働きたい人

⇒ 完全無料のプログラミングスクール - 受講料無料でプログラミング習得 -

止めると「STOPPING」という表記に切り替わります。

そして再度「START SITE」を押せばサイトが動いている状態へ戻ります。

どの方法(php.ini/htaccess/wp-config.php)でも反映するには上記の手順が必要なのでご注意くださいませ。

・php.iniで値を変更した例

以下では「conf/php」のなかにある「php.ini.hbs」を編集しています。

編集後にさっきの再起動を行えば「info.php」の設定画面にも反映されます。

ただ、ファイルで優先度は違う(上書きされる)のですべてを試す必要があります。

・php.ini
・htaccess
・wp-config.php

状況によっては環境に影響される可能性もあるので全部試してみるのが吉です。

▼php.iniの場合
memory_limit = 512M

memory_limit = 512M

▼htaccess
php_value memory_limit 512M

php_value memory_limit 512M

▼wp-config.php
define(‘WP_MEMORY_LIMIT’, ‘512M’);

define('WP_MEMORY_LIMIT', '512M');

上記をすべて試しても「Allowed memory size」エラーが解決しないケースもあります。もしエラーが改善しない場合は「コマンドライン」と呼ばれる画面からインポートを実行しましょう。

コマンドラインからAllowed memory sizeエラーを解決する

インポートエラーが続く場合は「2」のコマンドラインを試してください。コマンドラインは「Local by flywheel」内で行えます。以前のバージョン(3系)では「Open Site SSH」という名称に変わりました。

最新バージョン(5系)の「Local by flywheel」では『Open Site Shell』に変更済み。

立ち上げると「コマンド」が開きます。

コマンドライン起動後に「pwd」と入れてエンターを押せば「現在の居場所」を確認可能。試してみましょう。

上記の通り、起動時は右クリックした該当サイトの「public」ディレクトリにいます。あとは「インポート用のファイルを「.sql形式」に解凍して「publicディレクトリ内」に配置してコマンドを実行すればOK。

mysql -uroot -proot local --default-character-set=utf8 < xxx.sql

解凍したファイルが「test.sql」でれば「xxx.sql」を「test.sql」に変更してください。

mysql -uroot -proot local --default-character-set=utf8 < test.sql

もし「public」内に「test.sql」がなければ以下のメッセージが表示されます。

ちなみに「/test」ディレクトリを開く方法は以下の通りです。

下記が「test.sql」を実際に配置した状態。

この状態で下記を実行すればOKです。

mysql -uroot -proot local --default-character-set=utf8 < test.sql

コマンドラインに入力した例が以下となります。そのままエンターを押しましょう。

実行後に「[Warning] Using a password on the command line interface can be insecure.」というメッセージが表示されますが、気にしなくてOKです。データベースを確認するとインポート自体は完了しています。

データベース内に正しくインポートできているかどうかは下記でチェックできます。

データベースが空でなければインポートできませんので状況に合わせて中身は削除しましょう。ただし、データベースを削除するとウェブサイト側から読み込む連携データがすべて消えるので理解しておく必要があります。

もちろん、状況にもよりますが「データベースのインポート時」は大半の方が重要データは『エクスポート済み』なのでバックアップデータさえ揃っていればさほど気にする必要もありません。

過去にも別の記事で解説した通り「ワードプレスはデータベースと連携して全ファイルが正常に動く仕組み」なのでデータベースの扱いは慎重に行うのが基本です。この点は覚えておきましょう。

まとめ

本日は「Local by flywheelでAllowed memory sizeエラーが出た際の対策方法」をご紹介いたしました。

本番環境(レンタルサーバー)とテスト環境(ローカル)を使い分けると開発速度が一気に上がります。データベースの移行方法がわかれば使い勝手もより良くなりますのでぜひお試しくださいませ。

【今すぐ無料プラグインを手に入れる】
無料ダウンロードはこちら

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報はもちろんお好みの機能をいただければ専属スタッフが心を込めて対応させていただきます。まずはお気軽にお問い合わせくださいませ。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください