Я пытаюсь включить Thread Safety на моем сервере Apache2, чтобы в конечном итоге иметь возможность использовать модуль PHP pthreads (многопоточность PHP).
До сих пор я скомпилировал PHP из исходного кода с параметрами (под COMMON_CONFIG
):
--enable-maintainer-zts
и phpinfo говорит Thread Safety disabled
Затем я перекомпилировал с:
--enable-maintainer-zts
--enable-roxen-zts
и phpinfo говорит Thread Safety disabled
Наконец я попробовал с:
--enable-maintainer-zts
--enable-roxen-zts
--with-tsrm-pthreads
и phpinfo говорит Thread Safety disabled
Я все еще пытался установить pthreads как последний сценарий, используя pecl. После перемещения pthreads.so
в правильном представлении CLI PHP говорит:
~ # php -m
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pthreads.so' - /usr/lib/php5/20121212/pthreads.so: undefined symbol: sapi_globals_id in Unknown on line 0
Что я делаю неправильно ? Нужно ли компилировать Apache из исходного кода, используя специальные параметры ./configure?
Любая информация с благодарностью, спасибо!
Все прошло нормально, загрузив исходники с Apache.org и PHP.net. Тогда используя право ./configure
опции успешно включили Zend Thread Safety на стороне PHP и на стороне Worker MPM Apache.
Если вам нужна информация о ./configure
варианты прошу комментировать.
Примечание: сборка пакетов PHP и Apache через apt-get source
не работает для меня Даже редактируя debian/rules
файлы с необходимыми параметрами конфигурации. Пакеты будут установлены, но без учета --enable-maintainer-zts
а также --with-mpm=Worker
,
Других решений пока нет …