如何在php7和apache2上安装pthreads以在网站中使用它

时间:2016-12-15 19:40:00

标签: php apache pthreads

我想在我的网站上使用php7中的线程,而不是在CLI中。大多数教程都解释了如何在php-cli上使用它们。我想在apache网站上。首先,我尝试使用this tutorial启用的zts重新编译php7。它不仅没有在浏览器中工作,而且我还破坏了我的服务器设置(首先mysqli是错误的版本,现在没有任何作用)。

此尝试在virtualbox上进行。 以下是我所做的步骤:

mkdir phpinstall && cd phpinstall

wget php.net/distributions/php-7.1.0.tar.gz
wget https://pecl.php.net/get/

tar zxvf php-7.1.0.tar.gz 
tar zxvf pthreads-3.1.6.tgz

rm pthreads-3.1.6.tgz
rm php-7.1.0.tar.gz

cp pthreads-3.1.6 /php-7.1.0/ext/pthreads

sudo apt-get install make build-essential -y
sudo apt-get install libxml2-dev -y


./buildconf --force

#should show pthreads 
./configure --help | grep pthreads

rm -rf aclocal.m4
rm -rf autom4te.cache/
./buildconf --force

#./configure --enable-maintainer-zts --enable-pthreads --enable-debug 
#but i used below, thinking that phtreads should be in php7 already build in:
./configure --enable-maintainer-zts --enable-debug 

sudo make && sudo make install

#now installed apache via apt-get

sudo apt install libapache2-mod-php
echo "extension=pthreads.so" >> /etc/php/7.0/apache2/php.ini
echo "extension=pthreads.so" >> /etc/php/7.0/cli/php.ini
service apache2 restart

我还安装了ubuntu-desktop,因为我无法从主机上获取IP来浏览服务器。

Php在浏览器中工作,但没有启用pthread。这可能是因为我跳过--enable-pthreads。我这样做是因为我有错误并且php无法安装。 当我想用pecl安装pthreads时,我收到此错误:

Makefile:196: recipe for target 'php_pthreads.so' failed
make: *** [php_pthreads.so] Error 1

在此输出中,我看到了' zts enabled'所以至少那已经奏效了。我得到了pecl install pthreads输出的整个文件,但我现在跳过它而不是垃圾邮件。如果你想要它写在评论中。当我使用--enable-pthreads制作php7时出现了同样的错误。 apache错误日志中没有错误。 Php7应该有pthreads,所以为什么它们不工作?

我做错了什么? Ubuntu 16.10,apache2,php7.1.0,pthreads 3.6。*(最新)

修改 我尝试过pthreads v3.0.5和2.0.10但它仍然没有安装。与以前相同的错误。

EDIT2: 对于那些寻找答案的人:安装pthreads以使用apache是​​不可能的。

0 个答案:

没有答案