>  기사  >  php教程  >  pcntl_fork安装以及实现PHP多进程

pcntl_fork安装以及实现PHP多进程

WBOY
WBOY원래의
2016-07-11 20:00:39916검색

PHP有个pcntl_fork的函数可以实现多进程,但要加载pcntl拓展,而且只有在linux下才能编译这个拓展,有时间在ubuntu下玩了下。

    1.首先在ubuntu下编译pcntl.so,我的ubuntu下找不到pcntl的包,于是

创建一个文件夹下载了整个PHP包,在里面找到了pcntl包运行如下命令

# mkdir php
# cd php
# apt-get source php5
# cd php5-(WHATEVER_RELEASE)/ext/pcntl
# phpize
# ./configure (注一)
# make
# make install 

phpize 命令是用来准备 PHP 外挂模块的编译环境的。 

 

成功的安装将建立 extname.so 并放置于 PHP 的外挂模块目录中 (预设存放于 /usr/lib/php/modules/ 内) 。
需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此外挂模块。 

 

    2,开始实验pcntl_fork

01 <?php
02 //while(1)//循环采用3个进程
03 //{
04 //declare(ticks=1);
05 $bWaitFlag = FALSE;<span class="Apple-converted-space"> </span>// 是否等待进程结束
06 //$bWaitFlag = TRUE; // 是否等待进程结束
07 $intNum = 3;<span class="Apple-converted-space"> </span>// 进程总数
08 $pids =<span class="Apple-converted-space"> </span>array();<span class="Apple-converted-space"> </span>// 进程PID数组
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.