многопроцессорная обработка — PHP закрывает соединение после pcntl_fork

Я пытаюсь получить некоторые данные через API, используя другой процесс, чтобы сделать все запросы одновременно.

Он работает нормально, но у меня много утечек памяти в скрипте (я использую сегмент общей памяти для хранения результатов, извлекаемых каждым процессом)

Код, который я использую для создания сегмента разделяемой памяти, выглядит следующим образом (я просто добавил минимальный код, полезный для понимания проблемы):

for ($i = 0; $i < 6; $i++)
{
if (getmypid() == $parent_pid) {
$process_pool[] = pcntl_fork();
// Get the memory segment where the process set the status of data fetching and set it to KO
if (getmypid() == $parent_pid) {
//I am creating memory here
echo '<br>i : ' . $i . ' mypid : ' . getmypid() . '<br>';
}
}
}

Вот вывод, который я получаю:

я: 0 mypid: 11128

я: 1 мипид: 11128

я: 2 mypid: 11128

я: 3 mypid: 11128

HTTP / 1.1 200 OK Хост: 127.0.0.1:8000 Дата: Пн, 10 Дек 2018 11:07:31 +0000 Соединение: закрыть X-Powered-By: PHP / 7.2.2 Тип контента: text / html; charset = UTF-8 HTTP / 1.1 200 OK Хост: 127.0.0.1:8000 Дата: понедельник, 10 декабря 2018 11:07:31 +0000 Подключение: закрыть X-Powered-By: PHP / 7.2.2 Тип содержимого: текст / HTML; кодировка = UTF-8
я: 0 mypid: 11128

я: 1 мипид: 11128

HTTP / 1.1 200 OK Хост: 127.0.0.1:8000 Дата: Пн, 10 Дек 2018 11:07:34 +0000 Соединение: закрыть X-Powered-By: PHP / 7.2.2 Тип контента: text / html; кодировка = UTF-8
я: 0 mypid: 11128

я: 1 мипид: 11128

я: 2 mypid: 11128

я: 3 mypid: 11128

я: 4 mypid: 11128
HTTP / 1.1 200 OK Хост: 127.0.0.1:8000 Дата: Пн, 10 Дек 2018 11:07:34 +0000 Соединение: закрыть X-Powered-By: PHP / 7.2.2 Тип контента: text / html; кодировка = UTF-8
я: 0 mypid: 11128
HTTP / 1.1 200 OK Хост: 127.0.0.1:8000 Дата: Пн, 10 Дек 2018 11:07:34 +0000 Соединение: закрыть X-Powered-By: PHP / 7.2.2 Тип контента: text / html; кодировка = UTF-8
я: 0 mypid: 11128

я: 1 мипид: 11128

я: 2 mypid: 11128
HTTP / 1.1 200 OK Хост: 127.0.0.1:8000 Дата: Пн, 10 Дек 2018 11:07:34 +0000 Соединение: закрыть X-Powered-By: PHP / 7.2.2 Тип контента: text / html; кодировка = UTF-8
я: 0 mypid: 11128

я: 1 мипид: 11128

я: 2 mypid: 11128

я: 3 mypid: 11128

я: 4 mypid: 11128

я: 5 мипид: 11128

Кажется очевидным, что проблема заключается в закрытии соединения по какой-либо причине, что это и как я могу это исправить?

Спасибо за вашу помощь!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]