Я пытаюсь установить pthreads на моем сервере Ubuntu 12.04, где работает PHP Version 5.5.8-3 + sury.org ~ exact + 2. Насколько мне известно, это была стандартная установка через apt-get.
Затем я пытаюсь запустить
sudo pecl install pthreads
это приводит к следующей ошибке: проверка проверки на ZTS … configure: ошибка: pthreads требует ZTS, пожалуйста, перекомпилируйте PHP с включенным ZTS
Я понимаю, что это означает, что PHP не был скомпилирован с флагом –enable-maintiner-zts ./config.
Я НЕ знаю, как это сделать, это перекомпилировать PHP с этим флагом, а затем перезаписать мою текущую установку PHP, надеюсь, не нарушая ничего.
Я сделал некоторые поисковые запросы по этому вопросу, но несколько руководств, которые я нашел, чрезвычайно высоки, старые или не очень полные, и, к сожалению, я по-прежнему новичок, когда дело доходит до Linux.
Положите все свои оправдания в коробку … сожгите коробку и забудьте о них.
Вы занимаетесь довольно продвинутым PHP и уже правильно определили проблему … не бойтесь, просто взломайте …
Вот некоторые вопросы о настройке PHP для перезаписывания вашей установки …
Допустим, у меня есть PHP на / usr, scandir на /etc/php.d и настройка на /etc/php.ini
./configure --prefix=/usr --bindir=/usr/bin --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
Эта минимальная конфигурация перезапишет мою установку, я включил -bindir, потому что, установив этот единственный параметр конфигурации, вы можете изолировать установку PHP на, например, / opt / php-zts.
Вам требуется, по крайней мере, дополнительная опция
--enable-maintainer-zts
Вы должны проверить свою текущую установку, запомните расширения и просто выполните свой путь от значения по умолчанию.
Если расширение не должно строиться, это обычно происходит из-за того, что заголовки для библиотеки, в которую добавляется расширение, недоступны в вашей системе, обычно бывает, что установка dev или пакета devel с помощью менеджера пакетов distros позволит построить для успеха.
После того, как у вас есть полная полная сборка, его хороший совет – скопировать config.nice куда-нибудь разумным, чтобы у вас было это на будущее.
Наконец, не всегда желательно перезаписать установку в вашей системе, это может использоваться другим программным обеспечением, поэтому я обычно говорю, что лучше изолировать установку, а вот config.nice verbatim из изолированной установки на моей машине:
#! /bin/sh # # Created by configure './configure' \ '--with-apxs2=/opt/php-zts/bin/apxs' \ '--prefix=/opt/php-zts' \ '--bindir=/opt/php-zts/bin' \ '--with-config-file-dir=/opt/php-zts' \ '--with-config-file-scan-dir=/opt/php-zts/modules.d/' \ '--with-curl=shared,/usr' \ '--with-zlib' \ '--with-libxml2' \ '--enable-simplexml' \ '--with-mysql=mysqlnd' \ '--with-pdo-mysql=mysqlnd' \ '--enable-gd-native-ttf' \ '--with-mysqli' \ '--disable-phar' \ '--enable-shared' \ '--enable-maintainer-zts' \ '--enable-opcache' \ '--enable-sockets' \ '--with-curl=shared' \ '--enable-pcntl=shared' \ '--enable-mbstring' \ "$@"