2017-02-16 5 views
3

Как сделать многопоточность в PHP7? Первая проблема, которую я вижу с pthread, поступает непосредственно из руководства PHP.Многопоточность в PHP 7

https://secure.php.net/manual/en/intro.pthreads.php

Pthreads расширение не может быть использован в серверной среде в веб. Поэтому Threading в PHP должен оставаться в только для приложений на основе CLI.

Безопасно ли контролировать это предупреждение и порождать некоторые потоки по HTTP-запросам?

+1

Вы пробовали это сделать. Или используйте некоторые другие вещи, такие как Кролик MQ, Gearman и т. Д. –

+0

Я прочитал кое-что о Gearman. Я понимаю, что это будет отдельный процесс для взаимодействия. Еще не проверял MQ. Но я говорю о самом языке. –

+0

Gearman хорош, я его использую .. вы можете использовать supervisord, чтобы контролировать весь ваш процесс. Он в основном работает в обратном направлении с таким количеством потоков, которое вы создаете. –

ответ

3

Безопасно ли контролировать это предупреждение и порождать некоторые потоки по HTTP-запросам?

Само расширение запрещает загрузку в любом месте, кроме CLI. Попытка загрузить в любой другой SAPI приведет к фатальной ошибке.

+0

Библиотека запрещает это. Однако есть временные решения: http://www.smddzcy.com/2016/01/tutorial-multi-threading-in-php7-pthreads/ –

+0

Это не обходной путь, это инструкции по загрузке pthreads только в CLI. –

+0

Итак, каков ответ на главный вопрос? Как сделать многопоточность php7? –

Смежные вопросы