настройка pthread для apache2 - PullRequest
0 голосов
/ 13 сентября 2018

Я использую Ubuntu 14.10 (c9.io) и обновил свой php до 7.2 с 5.6.

Мне нужно использовать pthread для многопоточности для apache2.Я пытаюсь установить pthread с помощью sudo pecl install pthreads

Но это дает мне следующую ошибку:

checking whether to enable pthreads... yes, shared
checking whether to enable AddressSanitizer for pthreads... no
checking whether to enable dmalloc for pthreads... no
checking for ZTS... configure: error: pthreads requires ZTS, please re-compile PHP with ZTS enabled
ERROR: `/tmp/pear/temp/pthreads/configure --with-php-config=/usr/bin/php-config' failed

Я попытался найти какое-то решение для этого, но безуспешно.Каждое решение заключается в установке PHP с нуля, а не перекомпиляции существующей установки PHP.

Пожалуйста, предложите, если есть какой-нибудь способ, которым мы можем использовать pthread для установки apache2 php 7.2.

1 Ответ

0 голосов
/ 13 сентября 2018

В качестве примера взяв PHP 7.0 и просмотрите шаги.Для проверки ваших ошибок вам может потребоваться ZTS

1.Установить включенный ZTS PHP

pThreads не будет установлен без пакетов php7.0-zts-xml и php7.0-zts-dev, поэтому их также необходимо установить:

sudo apt -y install php7.0-zts php7.0-zts-common php7.0-zts-xml php7.0-zts-dev

2.Проверьте, включен ли ZTS

Это должно вернуть целое число 1.

php -r "echo PHP_ZTS;"

3.Установите pThreads через Pecl

sudo apt install php-pear
sudo pecl install pthreads
sudo echo "extension=pthreads.so" >> /etc/php/7.0-zts/mods-available/pthreads.ini
sudo echo "extension=pthreads.so" >> /etc/php/7.0-zts/cli/conf.d/pthreads.ini

4.Проверьте, установлен ли pThreads

Это должно возвращать целое число '1'.

php -r "print_r(class_exists('Thread'));"

Для получения дополнительной информации

...