WooCommerceの同期エラー「PHPメモリが不足しています」を解決するにはどうすればよいですか?
次のようなメッセージが表示された場合:
致命的なエラー:許可されたメモリサイズXXXバイトを使い切りました…
WooCommerceショップの同期中にこのメッセージが表示される場合、サイトのPHPメモリ上限が低すぎることを意味します。
PHPメモリ とは、WordPressと、WooCommerceやPrintfulなどのプラグインを実行するために割り当てられるサーバーメモリの容量です。大規模な商品カタログや高解像度のモックアップを同期すると、処理がこの上限を超え、同期に失敗してこのエラーが発生することがあります。
解決方法
以下に、WordPressのPHPメモリ上限を増やし、問題を解決するための確実な方法をご紹介します:
1. wp-config.phpでメモリを増やす
/* That’s all, stop editing! Happy publishing. */ の上に次の行を追加します:
sql
コピー・編集
define('WP_MEMORY_LIMIT', '256M');
これにより、WordPressは最大256MBを使用できるようになります。必要に応じて、ホスティングプロバイダーの制限の範囲内で512MBまで増やすことができます。
2. php.iniファイルを調整する(アクセスできる場合)
php.iniファイルを探す(または作成する)ことで、次の設定を調整します:
ini
コピー・編集
memory_limit = 256M
大規模なインポートや同期では、サイトによっては512MB以上が必要になります。
3. .htaccessで設定を上書きする(php.iniにアクセスできない場合)
WordPressのルートディレクトリにある、お客様のサイトの.htaccessファイルに次の行を追加します:
nginx
コピー・編集
php_value memory_limit 256M
保存して、同期を再試行します。
4. ホスティングプロバイダーに問い合わせる
上記の方法で解決しない場合、ホスティングプロバイダーがより低いPHPメモリ上限を強制的に適用し、お客様の変更を上書きしている可能性があります。多くのホスティングプロバイダーでは、アカウント管理画面(cPanelやhPanelなど)に、メモリを手動で増やすための機能が用意されています。その機能がない場合は、プロバイダーのサポートチームにお問い合わせください。サーバーの構成を確認し、上限を引き上げるためのサポートを提供してくれます。
ヒントとベストプラクティス
- WooCommerceの最小メモリ容量:WooCommerceは少なくとも64MBを推奨していますが、128MBのほうが適しています。ほとんどのショップでは、同期や大規模なインポートに256MB以上を確保することで、よりスムーズに動作します。
- メモリ使用量を確認する:Tools → Site Health → Infoで、PHP memory limitの値を確認します。WooCommerce → Statusでは、WordPressに設定されている上限を確認できます。
- メモリ上限の不適切な使用を避ける:プラグインやテーマによっては、メモリを過剰に使用する場合があります。メモリ使用量の急増が続く場合は、管理ログを確認するか、プラグインを一時的に無効にしてください。
- 特殊なケース:php.iniでmemory_limit = -1を設定すると、メモリ上限がないことを示します。一部のプラグインやWooCommerceのバージョンでは、これが誤って解釈される場合があります。大きな固定値の上限(例:512M)を設定して確認することで、互換性の問題が解決する可能性があります。
上記の手順を試してもエラーが続く場合は、ホスティングプロバイダーに問い合わせることをおすすめします。WooCommerceショップの同期時にメモリ不足のエラーが発生していることを伝え、すでに実施したトラブルシューティングの手順を共有してください。必要に応じて、サーバーの設定を確認し、調整してくれます。