2026年9月22日
2026年9月22日
WordPressのAPC(APCu)キャッシュのエラー解決
はじめに
WordPressサイトのパフォーマンス向上のためにAPC (Alternative PHP Cache) やその後継であるAPCuを導入している方は多いと思います。しかし、これらのキャッシュが原因でエラーが発生してしまうこともあります。この記事では、APCuによるキャッシュに関連する問題とその解決策について詳しく紹介します。
症状・背景
- <サイトの応答速度が急に低下>
- <管理画面や特定のページの表示が正常に行われない>
- <「白い画面」(White Screen of Death) が表示される>
手順・設定方法
ステップ1: エラーの確認とログ収集
# APCu拡張モジュールを無効化して、通常通りPHPが動作することを確認します。
sudo a2dismod apcu
sudo systemctl restart apache2
# 無効化後も問題がある場合は他のキャッシュシステムまたはプラグインが原因である可能性があります。APCu設定のログを収集します。
grep 'apc' /var/log/apache2/error.log > apc_error_log.txt
# PHPエラーも確認します。
tail -n 100 /var/log/php7.4-fpm.log > php_error_log.txt
ステップ2: APCuの設定ファイルを確認・修正
# デフォルトのAPCu設定ファイルを表示して内容をチェックします。
cat /etc/php/7.4/conf.d/apcu.ini
# キャッシュサイズが十分であることを確認します。通常はPHPスクリプト数×256bytes程度を目安とします。
sed -i 's/^apc.shm_size=30M$/apc.shm_size=128M/' /etc/php/7.4/conf.d/apcu.ini
# 有効なエントリーメモリサイズを確認・調整します。通常は512KB程度が適切です。
sed -i 's/^apc.entries=4096$/apc.entries=8192/' /etc/php/7.4/conf.d/apcu.ini
# 修正後、設定ファイルの変更を反映させます。
sudo systemctl restart apache2
ステップ3: WordPressとAPCuの相性問題対策
# APCuキャッシュがWordPressオブジェクトキャッシュとして機能することを確認します。wp-contentディレクトリにapcu.phpファイルを作成します。
echo "<?php\nob_start();\nvar_dump(apc_cache_info('user'));\napc_clear_cache('user');\nob_end_clean();" > wp-content/apcu.php
# ファイルが正常に動作することを確認するため、ブラウザで/wp-content/apcu.phpを開きます。エラーがないことを確認します。
# 環境設定ファイルwp-config.phpを編集し、APCuキャッシュを有効化します。
echo "define('WP_CACHE', true);" >> wp-config.php
echo "define('WPCACHEHOME','/path/to/wp-content/plugins/w3-total-cache/' . WP_CONTENT_DIR . '/');" >> wp-config.php
ステップ4: 定期的な監視とキャッシュクリア
# キャッシュを定期的にクリアするスケジュールを作成します。
crontab -e
# 次の行を追加します:(0 3 * * * /usr/bin/php7.4 -q /path/to/wp-content/plugins/w3-total-cache/inc/cache.php --cache-invalidate)
注意事項
- <実践的な注意点1>: ログファイルは大量に増える可能性があるため、定期的にバックアップと削除を実施してください。
- <実践的な注意点2>: APCuの設定変更後は必ずテスト環境で動作確認を行い、サイト全体への影響がないことを確認しましょう。
- <セキュリティ上の注意>: キャッシュデータにアクセス可能なユーザー権限を最小限に抑え、適切なファイルパーミッションを設定することが重要です。
- <パフォーマンス/運用上の注意>: 過度のキャッシュクリアはサイトのパフォーマンスに悪影響を与える可能性があるため、適切なタイミングでの実行を心がけましょう。
まとめ
1. <キー1>: エラー発生時の第一歩として、APCuの設定ファイルとログファイルの確認を行う。
2. <キー2>: WordPressとAPCuの相性問題はよく発生するため、適切なプラグインを使用して対策を講じる。
3. <キー3>: 定期的なキャッシュクリアはパフォーマンス維持に重要な役割を果たすが、適度に行うことが肝心である。
4. <キー4>: キャッシュデータのセキュリティ管理も忘れずに行ってください。不要なアクセス権限を与えないようにしましょう。
5. <キー5>: APCuの設定変更は慎重に取り組みましょう。テスト環境での動作確認が重要です。
関連記事: