Недавно я преобразовал свой сервер с настройки mod_php на php через настройку mod_fcgid. Все работает хорошо: быстро, легко, не вылетает и т.д. и т.п.
Проблема в том, что файлы журнала заполняются такими сообщениями:
[Sat Nov 14 00:43:17 2009] [notice] mod_fcgid: process /var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper(9451) exit(server exited), terminated by calling exit(), return code: 0
[Sat Nov 14 00:43:23 2009] [notice] mod_fcgid: process /var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper(9453) exit(server exited), terminated by calling exit(), return code: 0
[Sat Nov 14 00:43:27 2009] [notice] mod_fcgid: process /var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper(9457) exit(server exited), terminated by calling exit(), return code: 0
[Sat Nov 14 00:43:27 2009] [notice] mod_fcgid: process /var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper(9459) exit(server exited), terminated by calling exit(), return code: 0
[Sat Nov 14 00:43:41 2009] [notice] mod_fcgid: process /var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper(9463) exit(server exited), terminated by calling exit(), return code: 0
[Sat Nov 14 00:43:47 2009] [notice] mod_fcgid: process /var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper(9461) exit(server exited), terminated by calling exit(), return code: 0
[Sat Nov 14 00:43:58 2009] [notice] mod_fcgid: process /var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper(9466) exit(server exited), terminated by calling exit(), return code: 0
Если мой файл apache2.conf, у меня для ведения журнала установлено значение E_ALL & ~E_NOTICE
. Мой файл php.ini настроен так, чтобы не регистрировать ошибки.
Я использую exit
в моем php-коде, но я не понимаю, почему она выдает уведомление в файлах журнала. Любой вклад будет оценен.
В стандартных сценариях CGI сервер запускает сценарий, отправляет ему один запрос, а затем ожидает завершения сценария.
В сценарии FCGI сервер запускает его один раз и отправляет множество запросов, по одному за раз. Это означает, что ваш скрипт не должен завершаться после одного запроса, а должен выходить только в условиях ошибки, когда он не может дать полезный ответ (даже если он должен был ответить кодом 500).
Итак, я полагаю, вы сбиваете с толку Apache, выходя из него вообще.