继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

PHP安装多进程pcntl扩展

拉丁的传说
关注TA
已关注
手记 617
粉丝 126
获赞 789

# mkdir php

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


7.复制pcntl/module文件夹下的pcntl.so文件到自定义位置

8.在php.ini文件中添加extension=上一步自定义位置/pcntl.so

9.重启apache


如报错误:

sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/pcntl/*.c

sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/pcntl/*.c


注一:./configure --with-php-config=/opt/app/php5/bin/php-config

phpize:yum install php-devel  或者 apt-get install php5-dev #提供phpize命令支持

注意版本,必须用当前PHP版本的phpize  /opt/app/php5/bin/phpize


$cmds=array(        
array('/apps/bin/launcher.php','charge/promotion_props_stat.php','mobile',1),        
array('/apps/bin/launcher.php','charge/promotion_props_stat.php','mobile',2),        
array('/apps/bin/launcher.php','charge/promotion_props_stat.php','click',1),        
array('/apps/bin/launcher.php','charge/promotion_props_stat.php','click',2),        
array('/apps/bin/launcher.php','charge/promotion_props_stat.php',1),        
array('/apps/bin/launcher.php','charge/promotion_props_stat.php',2));foreach($cmds as $cmd){        
$pid=pcntl_fork();        
if($pid==-1){ //进程创建失败                
die('fork child process failure!');        
}        
else if($pid){ //父进程处理逻辑                
pcntl_wait($status,WNOHANG);        
}        
else{ //子进程处理逻辑                
pcntl_exec('/usr/local/bin/php',$cmd);        
}}


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP