欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

安装php扩展pthreads实现PHP多线程

程序员文章站 2022-06-08 14:22:41
...
下面介绍两种编译方式:


1、在已有的PHP上编译pthreads扩展

注:需要动态加载pthreads模块,之前在编译php时必须启用--enable-maintainer-zts;否则需要重新编译PHP。

pthreads源码包下载地址:http://pecl.php.net/package/pthreads


tar xf pthreads-1.0.0.tgz

cd pthreads-1.0.0

phpize

./configure --enable-pthreads --with-php-config=/usr/local/php/bin/php-config

make && make install


2、重新编译PHP,加载pthreads


tar xf php-5.5.8.tar.gz

tar xf pthreads-1.0.0.tgz

mv pthreads-1.0.0 php-5.5.8/ext/pthreads 将pthreads解压,移动到php/ext/下,并改名为pthreads;


来到php源码目录

./buildconf --force

./configure --help | grep thread

是否能看到--enable-threads,如果没有则执行:


rm -rf aclocal.m4

rm -rf autom4te.cache/

./buildconf --force

初始化编译配置:

./configure --prefix=/usr/local/php --enable-opcache --with-config-file-path=/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --enable-pthreads --enable-fastcgi --enable-static --enable-inline-optimization --enable-sockets --enable-wddx --enable-zip --enable-calendar --enable-bcmath --enable-soap --with-zlib --with-xmlrpc --enable-mbstring --without-sqlite --with-curl --enable-ftp --with-mcrypt --with-freetype-dir=/usr/local/freetype.2.1.10 --with-jpeg-dir=/usr/local/jpeg.6 --with-png-dir=/usr/local/libpng.1.2.50 --disable-ipv6 --disable-debug --with-openssl --enable-maintainer-zts --disable-safe-mode --disable-fileinfo


make && make install


cp php.ini-production /etc/php.ini


install -v -m755 ./php-5.5.7/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm


启动php-fpm

/etc/init.d/php-fpm start


测试,查看phpinfo输出

官方文档:http://docs.php.net/manual/en/pthreads.installation.php#113019