2026年9月2日

2026年9月2日

WordPressのmod_fcgidとの互換性問題を解決する方法

はじめに

WordPressサイトを安定して稼働させるために、サーバーソフトウェアとその設定は非常に重要です。Apache web サーバーでは、mod_fcgid モジュールを使用して PHP スクリプトを実行することが一般的ですが、この組み合わせで問題が発生するケースもあります。例えば、WordPress にアクセスすると白い画面(White Screen of Death: WSOD)やエラーページが表示されることがあります。

これらの問題は、PHP のバージョン違い、設定の誤り、サーバーソフトウェアと PHP スクリプト間の互換性不足などが原因で発生します。この記事では、mod_fcgid との互換性に関する一般的な問題を解決するための手順と注意点について説明します。

症状・背景

  • 白い画面(WSOD): ホームページや管理ダッシュボードにアクセスすると何も表示されない。
  • エラーページ: 500 Internal Server Error や PHP の内部エラーが表示される。
  • WordPressのインストール/アップグレード失敗: WordPress を新規インストールまたは更新しようとした際にエラーが発生する。

手順・設定方法

ステップ1: PHP のバージョン確認と変更

まず、インストールされている PHP のバージョンを確認します。最新版の WordPress では、PHP 7.4以降が推奨されています。

# 現在のPHPのバージョンを確認
php -v

# 新しいPHPをインストールする場合(例:CentOSの場合)
sudo yum install php74

# PHP バージョン間での切り替え
sudo alternatives --config php

ステップ2: mod_fcgid の設定変更

mod_fcgid の設定ファイル (通常は /etc/httpd/conf.d/fcgid.conf または /etc/apache2/mods-available/fcgid.conf) を編集します。

# 設定ファイルをバックアップ
sudo cp /etc/httpd/conf.d/fcgid.conf /etc/httpd/conf.d/fcgid.conf.bak

# タイムアウト時間を増加させる(例:30秒)
Timeout 30

# FCGI プロセスの最大数と待機時間の設定
MaxRequestsPerProcess 1500
IdleTimeout 200

# 再起動して変更を適用
sudo systemctl restart httpd

ステップ3: PHP のインストールディレクトリ指定

php-fpmmod_fcgid を使用する場合、PHP の設定ファイル (/etc/php.ini または /etc/php//fpm/php.ini) を編集します。

# PHPのインストールディレクトリを確認
php -i | grep 'Loaded Configuration File'

# インストールディレクトリにアクセス権限を与える(例:Apacheユーザー)
sudo chown apache:apache /path/to/php.ini

# FPM バックエンドの設定(必要に応じて)
cat <<EOL | sudo tee -a /etc/php/<version>/fpm/pool.d/www.conf
php_admin_value[env] = "PATH=/usr/local/bin:/usr/bin:/bin"
php_admin_flag[log_errors] = on
php_admin_value[error_log] = /var/log/php-fpm/error.log
EOL

# 再起動して変更を適用
sudo systemctl restart php-fpm

ステップ4: PHP のエラーログ確認とトラブルシュート

問題が解決しない場合、PHP または Apacheのエラーログを確認します。

# エラーを記録するためのログファイルを作成(例:/var/log/php_errors.log)
sudo touch /var/log/php_errors.log && sudo chown apache:apache /var/log/php_errors.log

# ファイルに書き込み権限を与える
sudo chmod 640 /var/log/php_errors.log

# PHPのエラー記録を有効にする(php.ini設定)
sudo sed -i 's/^;log_errors = Off$/log_errors = On/' /etc/php/<version>/fpm/php.ini
sudo systemctl restart php-fpm

# Apacheのエラーログを確認
tail -n 50 /var/log/httpd/error_log

注意事項

  • PHP バージョンの更新: PHP を更新する際は、依存関係やインストールされている拡張機能が最新のバージョンに対応していることを確認してください。
  • mod_fcgid の設定変更: Apacheを再起動する前に必ず設定ファイルを保存し、誤ってサービスを停止させないよう注意してください。
  • セキュリティ上の注意: ファイルやディレクトリの所有権とアクセス権限は適切に設定されていることを確認します。また、脆弱性スキャンツールを使用して定期的にシステムをチェックすることをお勧めします。
  • パフォーマンス/運用上の注意: サイトの負荷状況や利用者の数によっては、FCGI プロセスの最大数やタイムアウト時間を調整する必要があるかもしれません。

まとめ

1. PHPバージョンの確認と更新: WordPressサイトを最新のPHPで動作させる。

2. mod_fcgid の設定変更: タイムアウト時間やプロセス数を適切に設定する。

3. PHPインストールディレクトリの指定: PHP設定ファイルへのアクセス権限をApacheユーザーに設定する。

4. エラーログ確認: 問題が発生した際は、まずはエラーログから原因を探る。

5. 定期的なチェックとメンテナンス: セキュリティやパフォーマンスの観点からも定期的に設定を確認し調整すること。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ