У меня есть виртуальный сервер Ubuntu, где я размещаю свой php-сайт с самой последней версией Plesk 12 и PHP 5.5. Иногда (я полагаю, когда я быстро открываю страницы одну за другой), я получаю сообщение об ошибке внутреннего сервера.
Когда я обновляю страницу, сайт сразу снова становится нормальным, но иногда сообщение об ошибке исчезает примерно через минуту.
вот что я получаю на странице:
Внутренняя ошибка сервера 500.
Сервер обнаружил внутреннюю ошибку или неверную конфигурацию и был
невозможно выполнить ваш запрос.
Журнал ошибок:
[fcgid: warn] [pid 26583] (104) Сброс соединения по пиру: [client (ip)
адрес)] mod_fcgid: ошибка чтения данных с сервера FastCGI, реферер:
(URL здесь) [core: error] [pid 26583] [client (ip address)] Конец вывода скрипта
перед заголовками: index.php, referer: (здесь тот же URL)
Учитывая ваш журнал ошибок, похоже, что страница индекса хотела написать HTTP-заголовок (либо с header (), либо с set_cookie или подобным) ПОСЛЕ того, как он печатал обычный вывод, в вашем случае, вероятно, предупреждающее сообщение из-за прерванного соединения.
Я хотел бы отключить вывод всех ошибок на странице с php.ini, но все равно регистрировать ошибки.
PHP может выводить только поля заголовка HTTP до любые другие обычные выходные сообщения, предупреждения и сообщения об ошибках на странице включены. Таким образом, если вы направите все ошибки и предупреждения только в файлы журнала, и НЕ напечатайте их на странице, перед заголовком HTTP не будет никакого вывода, и он должен работать нормально.
Если любой PHP скрипт вызывает ошибку, попробуйте выполнить следующую процедуру:
error_log
для фактических ошибок исправьте их соответственноЕсли файлы конфигурации, такие как apache.conf
есть ошибка в них это не будет отображаться в журнале ошибок с включенным FastCGI.