php 真正的多线程 pthread

技巧库 · fecommerce · 于 1年前 发布 · 3628 次阅读

对于php,有很多种多进程的实现,这里就不说了,下面介绍一种多线程的方式。 php真正的多线程实现方式,通过安装php的扩展:pthread 扩展

原文链接:php 真正的多线程 pthread

安装步骤如下:

1.下载地址是这个:

https://github.com/krakjoe/pthreads

但是这个下载的是 版本3 也就是php 7 才能用的

我们需要使用2版本

然后刷新的页面如下,拖到最底部:

在下一页找到版本2的

注意:v3版本是php7使用的,v2版本才是php5使用的版本,这个一定要注意,如果你的php是5版本,安装phread 3版本将会报错。

下载下来,这个v2 才是php5才可以使用的

下载下来,安装:

或者,您直接这样下载:


    cd /tools  
    wget https://github.com/krakjoe/pthreads/archive/v2.0.10.zip  
    unzip   v2.0.10.zip  
    cd pthreads-2.0.10  
    /usr/local/php/bin/phpize  
    ./configure --with-php-config=/usr/local/php/bin/php-config    
    make  
    make install  

注意:您的php 在编译的时候需要开启 --enable-maintainer-zts,


./configure --prefix=/usr/local/php --disable-fileinfo   --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc  --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --with-mysql=/usr/local/mysql --without-pear --enable-maintainer-zts 



vim /etc/php.ini 
添加
extension=pthreads.so  

重启php  
/etc/init.d/php-fpm restart  

我之前搞的一个用php多线程获取订单货运号的例子:

http://blog.csdn.net/terry_water/article/details/50273847

本文由 fecommerce 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。


微信

本帖已被设为精华帖!
共收到 10 条回复 php真正多线程
fecommerce#11年前 3 个赞

php的进程是有限的,但是线程可以一次几百个并发执行。多线程比较适合一些,对资源耗费少,但是需要长时间等待的工作, 譬如获取运单号,每一个api可能都要等2秒,如果我有3万个单,单个获取肯定拖死,因此用php的多线程是蛮不错的。

iVanilla#21年前 0 个赞

如果没有特殊情况的话,我建议用PHP7,因为比PHP5快近一倍,性能提升很多。

fecommerce#31年前 0 个赞

@iVanilla #2楼 两码事,不是执行速度快不快的问题,而是并发的问题。

wlmaaa#41年前 0 个赞

哈哈哈哈哈哈哈哈哈哈,内容不错

fecommerce#51年前 1 个赞

@wlmaaa #4楼 还是蛮实用的。

stark#61年前 0 个赞

他这是官方的扩展吗?

fecommerce#71年前 0 个赞

@stark #6楼 我也不了解,但是的确是可以用的。我在线上项目中已经用过,可以的

ppker#81年前 0 个赞

可以的 666 赞一个

fecommerce#97个月前 0 个赞

最后,推荐一下我的开源商城:Fecshop。

Github地址:https://github.com/fancyecommerce/yii2_fecshop

Fecshop 全称为Fancy ECommerce Shop,是基于php Yii2框架之上开发的一款优秀的开源电商系统,遵循OSL3.0协议, Fecshop支持多语言,多货币,架构上支持pc,手机web,手机app,和erp对接等入口,您可以免费快速的定制和部署属于您的电商系统。

FecShop English Demo:http://fecshop.appfront.fancyecommerce.com/

FecShop 中文演示地址:http://fecshop.appfront.fancyecommerce.com/cn

FecShop QQ群:186604851 ,入群验证:fecshop

akun#107个月前 0 个赞

感谢分享!

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册