Недостатки или побочные эффекты при компиляции PHP с —enable-keeper-zts (для использования php pthread)

У меня есть веб-приложение, и оно отлично работает с PHP 5.5.5 в производственной среде.

Теперь на том же сервере мне нужно запустить несколько PHP-скриптов, использующих php pthread (v. 2.0.10)

Это безопасно перестроить php с --enable-maintainer-zts (чтобы разрешить использование pthreads) и использовать тот же исполняемый файл и то и другое для веб-приложения и скриптов CLI, использующих php-pthread ?

Или я должен сделать две сборки PHP: php, php-zts и использовать первый для веб-приложения, а второй для сценариев CLI?

Как --enable-maintainer-zts не включен по умолчанию, я предполагаю, что у него есть некоторые недостатки или хуже (как я читал здесь https://github.com/travis-ci/travis-ci/issues/985) может вводить неправильное поведение (ошибки).

Веб-стек Nginx + PHP-FPM + MYSQL в Mac OS X 10.9.5.

Я хочу чтобы это было понятно phtread будут не использоваться сценариями веб-приложения. Только по сценариям CLI.

0

Решение

От http://www.phpinternalsbook.com/build_system/building_php.html

(акцент мой)

--enable-debug включает режим отладки

[…]

--enable-maintainer-zts обеспечивает безопасность потока.

[…]

Вы не должны использовать ни один из этих вариантов если вы хотите выполнить тесты производительности для вашего кода, так как оба могут вызвать значительное и асимметричное замедление.

--enable-maintainer-zts кажется, не вредно, но влияет на выступления. Так что это определенно не рекомендуется в производственной среде.

Отдельная сборка PHP с --enable-maintainer-zts для того, чтобы использовать php pthread в скриптах CLI — это правильный путь.

2

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

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

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