Как настроить CoreDumpDirectory в apache?

206
19 августа 2018, 13:50

Периодически на сервере начинают вылазить ошибки в /var/log/apache2/error.log

[Sat Jun 30 16:24:04.235870 2018] [core:notice] [pid 14059] AH00052: child pid 8211 exit signal Segmentation fault (11)
[Sat Jun 30 16:24:05.237066 2018] [core:notice] [pid 14059] AH00052: child pid 8213 exit signal Segmentation fault (11)
[Sat Jun 30 16:24:08.240572 2018] [core:notice] [pid 14059] AH00052: child pid 8214 exit signal Segmentation fault (11)
[Sat Jun 30 16:24:08.240614 2018] [core:notice] [pid 14059] AH00052: child pid 8215 exit signal Segmentation fault (11)

Чтобы узнать причину, попробовал воспользоваться статьей https://habr.com/company/bitrix/blog/153001/ В командной строке:

echo "/tmp/httpd-core.%p" > /proc/sys/kernel/core_pattern
ulimit  unlimited

Добавил в /etc/security/limits.conf строку

apache - core -1

В /etc/apache2/apache2.conf добавил строку

CoreDumpDirectory /tmp

затем

service apache2 restart

Однако дампы не создаются после теста:

ps aux | grep apache2

kill -11 12345

, в логах нет подстроки ", possible coredump in /tmp" Что нужно сделать, чтобы начали создаваться дампы? ОС Debian 8, стоит VestaCP. Заранее спасибо.

Answer 1

Посмотрите не включен ли apport (/etc/default/apport). Если включен, то отключите его и сделайте опять шаги которые вы выполняли. Просто apport переопределяет политику сбора дампов.

Answer 2

Если в Debian 8 используется systemd в качестве сервис менеджера, то

  • открываете файл /lib/systemd/system/apache2.service
  • в раздел [Service] добавляете строку LimitCORE=infinity
  • затем systemctl daemon-reload
  • затем systemctl restart apache2.service

Если у вас при этом cat /proc/sys/kernel/core_pattern равно /tmp/httpd-core.%p, то ищите дамп в каталоге типа такого:

/tmp/systemd-private-9ca2aaa4c9674aafab477c29ff649b2c-apache2.service-mufjX4/tmp.

Название файла будет httpd-core.12345, если выполнялась команда kill -11 12345.

При этом в логе Апача будет строка ... [pid 12345] AH00051: child pid 12345 exit signal Segmentation fault (11), possible coredump in /tmp

На Ubuntu 16.04 всё именно так.

READ ALSO
Загрузить картинку в форму (не через кнопку в форме)

Загрузить картинку в форму (не через кнопку в форме)

Есть ли способ загрузки картинки в форму не через кнопку в форме (Выберите файл)? Имею в виду какие-то встроенные функции в PHP или какой-нибудь...

175
Laravel: сервис-контейнеры и сервис-провайдеры. Что это и зачем?

Laravel: сервис-контейнеры и сервис-провайдеры. Что это и зачем?

Недавно перешел с фреймворка CodeIgniter (в котором была простая схема MVC) на изучение LaravelФреймворк очень понравился, но есть некоторые моменты,...

202
Laravel вызвать контроллер в анонимной функции в роутинге

Laravel вызвать контроллер в анонимной функции в роутинге

В документации полно примеров как вызвать метод контроллера для обработки конкретного urlНапример:

180
LDAP: ldap_rename параметры функции

LDAP: ldap_rename параметры функции

помогите пожалуйста примером у кого есть, какие параметры требует функция php ldap_rename(), не совсем понимаю что она требует, глядя на документацию...

171