首页 > 编程语言 > 详细

真正的PHP多线程(绝非fork或者用http再开进程)

时间:2014-05-17 01:03:29      阅读:695      评论:0      收藏:0      [点我收藏+]

转载:http://blog.csdn.net/leinchu/article/details/8012640

我写了一个扩展打算放到pecl,但是,进过交流发现有人已经做了两个php的多线程扩展

1、https://github.com/alecgorge/php_threading/

2、https://github.com/krakjoe/pthreads

 

刚才成功的编译后了第二个(一个似乎不是官方的标准扩展写法、估计有点儿麻烦,而且第一个是2年前的东西了),迫不及待的写下这篇文章,介绍怎么安装:

bubuko.com,布布扣
#如果你的autoconfig版本高于2.59,则只能安装php5.4
#否则你只可以安装5.3.17。如果知道你的autoconf的版本——如果你已经安装了php.5.4那么,你就安装照5.4的安装;如果装了5.3就装5.3

#5.4
wget http://www.php.net/get/php-5.4.7.tar.gz/from/cn.php.net/mirror
tar zxvf php-5.4.7.tar.gz
cd php-5.4.7/ext

#5.3
wget http://www.php.net/get/php-5.3.17.tar.gz/from/cn.php.net/mirror
tar -xf php-5.3.17.tar.gz
cd php-5.3.17/ext


#下面装pthreads
wget https://github.com/krakjoe/pthreads/tarball/master -O pthreads.tar.gz
tar -xf pthreads.tar.gz
mv krakjoe-pthreads* pthreads
cd ../
./buildconf --force
./configure --enable-maintainer-zts --enable-pthreads --prefix=/usr/local/php-threads#其它参数自行配置,这里只是必须的参数
make
make install
bubuko.com,布布扣

源码包里面有例子,像这样执行:

/usr/local/php-threads/bin/php AdvancedSynchronization.php

bubuko.com,布布扣
Process: running
ScopeTest: 140703850592000 running
ScopeTest2: 140703839512320 running
ScopeTest2: 140703839512320 working ...
ScopeTest2: 140703839512320 notified: 1
Process: notifying 140703839512320: 1
ScopeTest: 140703850592000 notified: 1
Process: notifying 140703850592000: 1
bubuko.com,布布扣

通过apache执行的还没有试过,因为我不想破坏现有的php环境,而且我也不打算在非cli模式下执行。

真正的PHP多线程(绝非fork或者用http再开进程),布布扣,bubuko.com

真正的PHP多线程(绝非fork或者用http再开进程)

原文:http://www.cnblogs.com/zl0372/p/pthreads.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!