为了账号安全,请及时绑定邮箱和手机立即绑定

PHP安装多进程pcntl扩展

标签:
PHP

# 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);        
}}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消