标签:
PHP中提供了一个扩展pcntl,可以利用操作系统的fork调用来实现多进程。fork调用后执行的代码将是并行的。
PHP官方没有提供多线程的扩展,pecl中有一个pthreads扩展提供了多线程的特性,地址是http://pecl.php.net/package/pthreads,此扩展仅在线程安全版本中可用。
多线程也存在一些问题:
在PHP中进程控制支持默认是关闭的。您需要使用 –enable-pcntl 配置选项重新编译PHP来打开进程控制支持。注:pcntl只支持Linux版本
##本例用的php版本的是5.3.3,
cd php-5.3.3/ext/pcntl
phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make isntall
在php.ini下加入pcntl.so
即可
extension=pcntl.so
现在我们通过 pcntl扩展来调用操作系统的fork实现多进程。fork调用后执行的代码将是并行的。
<?php
$pid = pcntl_fork();
if($pid > 0){
echo "parent\n";
}elseif($pid == 0){
echo "child\n";
}else{
echo "error\n";
}
http://php.net/manual/zh/book.pcntl.php
http://www.laruence.com/2009/06/11/930.html
标签:
原文地址:http://www.cnblogs.com/linzhenjie/p/5485419.html