函数参考可见:http://www.php.net/manual/zh/ref.pcntl.php
只能用在unix like os,windows不可用。
编译php的时候,需要加上–enable-pcntl,且推荐仅仅在cli模式运行,不要在web服务器环境运行。
以下为实现php多进程的简单测试代码:
复制代码 代码如下:
<?php
declare(ticks=1);
$bwaitflag = false; /// 是否等待进程结束
$intnum = 10; /// 进程总数
$pids = array(); /// 进程pid数组
echo ("startn");
for($i = 0; $i < $intnum; $i++) {
$pids[$i] = pcntl_fork();/// 产生子进程,而且从当前行之下开试运行代码,而且不继承父进程的数据信息
if(!$pids[$i]) {
// 子进程进程代码段_start
$str="";
sleep(5+$i);
for ($j=0;$j<$i;$j++) {$str.="*";}
echo "$i -> " . time() . " $str n";
exit();
// 子进程进程代码段_end
}
}
if ($bwaitflag)
{
for($i = 0; $i < $intnum; $i++) {
pcntl_waitpid($pids[$i], $status, wuntraced);
echo "wait $i -> " . time() . "n";
}
}
echo ("endn");
?>
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!