Я унаследовал роль sysadmin на сервере, на котором запущен сайт wordpress поверх Apache 2.4/Debian. Он почти работает, но время от времени выдает "500 internal server error". В моем файле 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 или .htaccess для установки WordPress, или в vhost для самого домена.