Linux下实现PHP多进程的方法分享

2015-01-24信息快讯网

PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数),需要的朋友可以参考下

PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数)
函数参考可见:http://www.php.net/manual/zh/ref.pcntl.php
只能用在Unix Like OS,Windows不可用。
编译php的时候,需要加上Cenable-pcntl,且推荐仅仅在CLI模式运行,不要在WEB服务器环境运行。

以下为实现PHP多进程的简单测试代码:
 
<?php 
declare(ticks=1); 
$bWaitFlag = FALSE; /// 是否等待进程结束 
$intNum = 10; /// 进程总数 
$pids = array(); /// 进程PID数组 

echo ("Start\n"); 

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 ("End\n"); 
?> 
PHP多进程编程实例
解析php常用image图像函数集
解析php中eclipse 用空格替换 tab键
基于PHP magic_quotes_gpc的使用方法详解
解析php dirname()与__FILE__常量的应用
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
解析thinkphp中的M()与D()方法的区别
PHP中mb_convert_encoding与iconv函数的深入解析
解析php中var_dump,var_export,print_r三个函数的区别
解析PHP中intval()等int转换时的意外异常情况
解析coreseek for sphinx的使用
解析PHP实现多进程并行执行脚本
PHP实现多进程并行操作的详解(可做守护进程)
PHP CLI模式下的多进程应用分析
深入php-fpm的两种进程管理模式详解
php的POSIX 函数以及进程测试的深入分析
PHP程序级守护进程的实现与优化的使用概述
PHP中extract()函数的定义和用法
PHP基础知识回顾
php开发文档 会员收费1期
php适配器模式介绍
PHP缓存技术的多种方法小结
PHP最常用的2种设计模式工厂模式和单例模式介绍
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
php 调试利器debug_print_backtrace()
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
php守护进程 加linux命令nohup实现任务每秒执行一次
©2014-2024 dbsqp.com