私は、Apache 2.4/Debian 上で WordPress ウェブサイトを実行しているサーバーの sysadmin ロールを継承しました。ほぼ動作しますが、時々「500 内部サーバー エラー」が発生します。error.log ファイルには、次の内容が表示されます。
End of script output before headers: php5, referer: http://www.xxxxxxx.xxx/wp-admin/post-new.php
サーバーはシステム全体でmod_fcgidを実行していると思います。
/etc/apache2/conf-enabled/fcgid.conf
以下の内容です:
<Location />
AddHandler fcgid-script .php
Options +ExecCGI +FollowSymLinks
FcgidWrapper /usr/bin/php-cgi .php
</Location>
<Files ~ (\.php)>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
Options ExecCGI FollowSymLinks
allow from all
</Files>
そして他の質問も見つけましたここそしてこここれらは私が受け取ったエラーとほぼ同じで、mod_fcgid の設定ミスが原因として挙げられています (PHP_FCGI_CHILDREN および PHP_FCGI_MAX_REQUESTS 変数の値が間違っている)。このフォーラムでの返信また、fcgid の設定ミスも示唆されており、問題の詳細 (受け入れられるスレッド/接続の数のボトルネックの可能性) が示されているようですが、何をすべきかについての段階的な説明がありません。
私は mod_fcgid の専門家ではありません。PHP_FCGI_CHILDREN および PHP_FCGI_MAX_REQUESTS 変数の正しい値をどこにどのように設定すればよいか教えていただけますか?
答え1
FCGI ディレクティブは、Apache pre_virtualhost_global.conf または wordpress インストールの .htaccess ファイル、あるいはドメイン自体の vhost に追加できます。