Home  >  Article  >  php教程  >  pcntl_fork安装以及实现PHP多进程

pcntl_fork安装以及实现PHP多进程

WBOY
WBOYOriginal
2016-07-11 20:00:39911browse

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数组
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn