文档章节

php添加pcntl扩展(Linux)

Junn
 Junn
发布于 2013/09/02 15:07
字数 393
阅读 16142
收藏 8
点赞 1
评论 1

pcntl扩展可以支持php的多线程操作(仅限linux)
原本需要重新编译PHP的后面configrue提示加上--enable-pcntl

由于我的php是采用yum安装的,所以不能采用上面的方式
下面介绍一个php动态添加扩展的方式 phpize

1、首先看下 phpize命令 所在的目录  (ps:我的目录/usr/bin/phpize)
如果没有找到的话 执行安装
yum install php53_devel   (ps:请注意自己的版本)
安装完毕后。会生成phpize命令   

2、去php.net下载相应版本的php源文件
咱们以php-5.3.17 为例吧,解压后,进入相应的模块下
cd ext/pcntl
#先执行phpize
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config   (ps:请正确的指定php-config的目录)
#编译、安装
make && make install

这时候出了一个错误

./configure编译正常,但make出错
error: ‘PHP_FE_END’ undeclared here (not in a function)

解决方法:

源代码有错误,进入php-5.3.17目录
sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c
sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c
再重新make && make install

3、编译完毕后会生成了一个  pcntl.so的文件。在php的model目录里

编辑/etc/php.ini,加入
extension=pcntl.so

4、重启apache

service httpd restart

5、测试是否安装成功

<?php
    echo pcntl_fork();
?>

输出:23165

另附:

pcntl扩展可以支持php的多线程操作.
原本需要重新编译PHP的后面configrue提示加上--enable-pcntl
为了省事直接编译算鸟.
# cd /usr/local/src/php-5.2.6/ext/pcntl
# phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
pcntl.so  加到php.ini中OK

© 著作权归作者所有

共有 人打赏支持
Junn
粉丝 145
博文 412
码字总数 288918
作品 0
海淀
高级程序员
加载中

评论(1)

big_cat
big_cat
嗯?通篇pcntl都是和“多线程”搭配在一起,这样好么
纯PHP实现定时器任务(Timer)

纯PHP实现定时器任务(Timer)   定时器任务,在WEB应用比较常见,如何使用PHP实现定时器任务,大致有两种方案:1)使用Crontab命令,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该...

thinkyoung
2015/08/18
0
0
php workerman 异步通讯框架

提示workerman只是一个代码包,如果php环境满足要求,下载后即可使用,实际上没有安装过程。 workerman对php环境的要求是: 1、php>=5.3.3,可以运行命令 php -v 查看版本 2、Linux系统要求p...

bengozhong
2015/08/13
0
0
yuli/multi-process-pcntl

个人声明 作者:于立(wx/yulichenr) 敬告:联系我,请注明来源和来意 本人开发有很多年了,但是很少整理分享,如今趁着清闲就为大家服务了,希望更多地体验到编程带来的快乐。 职场多年下来...

yuli
2017/11/30
0
0
Phabricator安装向导

安装向导 该文档包含获得以及运行Phabricator所需的最基本安装指引。 安装要求 Phabricator是一个LAMP应用套件,因此最基本的要求就是LAMP环境: Linux:Linux的不同发行版及变种是必需的。M...

悠悠客
2013/04/28
0
0
轻量级Socket服务--MeepoPS

MeepoPS是Meepo PHP Socket的缩写。旨在提供高效稳定的由纯PHP开发的多进程SocketService。 MeepoPS可以轻松构建在线实时聊天,即时游戏,视频流媒体播放,RPC,实时监控,以及原本使用HTTP的...

李轩Lane
2016/05/31
7.7K
9
关于windows 安装pcntl扩展

项目用的thinkphp5.0开发,这两天接到需求要做消息推送,发现tp扩展包有Workerman就决定用这个了,结果调试时出现: PHP Fatal error: Call to undefined function WorkermanLibpcntl_signal...

equinox
2016/12/06
2.9K
6
PHP安装多进程pcntl扩展

# mkdir php # cd php # apt-get source php5 # cd php5-(WHATEVER_RELEASE)/ext/pcntl # phpize # ./configure (注一) # make # make install 7.复制pcntl/module文件夹下的pcntl.so文件到自......

hejunyi1204
2014/10/22
0
0
pcntl_fork和pcntl_fork 的用法

这是两个php的多线程的方法,在Windows下不可用,在Linux下需要编译。 pcntlfork()函数就是为当前的进程创建一个子进程。并且先运行父进程,返回的是子进程的PID,肯定大于零。在父进程的代...

lg2045
2013/05/24
0
1
php 在mac上为php添加pcntl扩展

jnfjfjf 1.查看当前PHP版本 $ php -v 2.下载相同版本的php包并解压(路径随意,之后要删除) $ curl -O http://us.php.NET/distributions/php-5.5.30.tar.gz $ tar -xzvf php-5.5.30.tar.gz 3......

keller.zhou
2017/01/24
0
0
php安装gearman扩展实现异步分步式任务

一、简介 Gearman是一个分发任务的程序框架,它会对作业进行排队自动分配到一系列机器上。gearman跨语言跨平台,很方便的实现异步后台任务。php官方收录:http://php.net/manual/zh/book.gea...

bengozhong
2015/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

面试感想(一)

最近跟北京的同事朋友聊天,深深的发现自己的技术已经和主流技术脱轨了,目前公司求稳为主,使用的技术略有些过时,因此萌生出了换工作的念头,正值三伏天,可以说真是顶着一颗偌大的决心去参加面试...

勤奋的蚂蚁
1分钟前
0
0
Kafka设计解析(一)- Kafka背景及架构介绍

原创文章,转载请务必将下面这段话置于文章开头处。(已授权InfoQ中文站发布) 本文转发自技术世界,原文链接 http://www.jasongj.com/2015/03/10/KafkaColumn1 摘要   Kafka是由LinkedI...

mskk
11分钟前
0
0
使用Service Mesh整合您的微服务架构

在微服务架构的世界中,它正在达到这样的程度,即管理系统的复杂性对于利用它带来的好处变得至关重要。 目前,如何实现这些微服务不再是一个问题,因为有很多可用的框架(Spring Boot,Vert....

xiaomin0322
14分钟前
0
0
看看 LinkedList Java 9

终于迎来了 LinkedList 类,实现的接口就有点多了 Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E>, Queue<E>。LinkedList是一个实现了List接口和Deque接口的双端链......

woshixin
33分钟前
0
0
算法 - 冒泡排序 C++

大家好,我是ChungZH。今天我给大家讲一下最基础的排序算法:冒泡排序(BubbleSort)。 冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大(可以相反),就交换他们两个。 对每...

ChungZH
35分钟前
0
0
jquery ajax request payload和fromData请求方式

请求头的不同 fromData var data = { name : 'yiifaa'};// 提交数据$.ajax('app/', { method:'POST', // 将数据编码为表单模式 contentType:'application/x-ww...

lsy999
38分钟前
0
0
阿里P7架构师,带你点亮程序员蜕变之路

前言: Java是现阶段中国互联网公司中,覆盖度最广的研发语言。 掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,成为Java架...

Java大蜗牛
39分钟前
1
0
Ecstore 在没有后台管理界面(维护)的情况如何更新表的字段

window 系统: 切换到:app\base 目录下: C:\Users\qimh>d: D:\>cd D:\WWW\huaqh\app\base 执行:D:\WWW\huaqh\app\base>cmd update linux 系统: 1># cd /alidata/www.novoeshop.com/app/......

qimh
43分钟前
0
0
设计模式-策略模式

策略模式 解释 对工厂模式的再次封装,使用参数控制上下文信息(将工厂返回的实例赋值给context field) 不会返回bean实例,只是设置对应的条件 调用context的方法(调用field的方法) 用户只...

郭里奥
46分钟前
0
0
python使用有序字典

python自带的collections包中有很多有用的数据结构可供使用,其中有个叫OrderedDict类,它可以在使用的时候记录元素插入顺序,在遍历使用的时候就可以按照原顺序遍历。 a = {"a":1,"b"...

芝麻糖人
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部