Linux中php如何添加pcntl扩展
admin
2023-07-03 21:44:09
0

pcntl扩展可以支持php的多线程操作(仅限linux系统)

加载 pcntl 有两种方式

一种重新编译安装,在编译时加,configrue提示加上--enable-pcntl

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-pcntl
另一种格外挂载

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

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

2、去php.net下载相应版本的php源文件

http://php.net/releases/index.php

咱们以php-5.3.17 为例吧,解压后,进入相应的模块下
cd /php-5.3.17/ext/pcntl
#先执行phpize
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config   (请正确的指定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目录里

cd /root/php-5.3.17/ext/pcntl/modules

ls -l pcntl.so
-rwxr-xr-x 1 root root 82375 4月   1 11:38 pcntl.so

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

4、重启apache和php
service httpd restart

/etc/init.d/php-fpm restart

5.进行测试是不是安装成功

在网页目录写一个php首页文件如下

    echo pcntl_fork();
?>

输出:23165 证明安装成功

相关内容

热门资讯

内蒙古包头:首批投运1000辆... 新华社5月31日消息,近日,我国自主研发的氢能两轮车在内蒙古自治区包头市面向公众投入运营,首批将在公...
缅甸边境发生爆炸,云南群众目击... 5月31日,缅甸掸邦北部南坎镇发生一起爆炸事故,已导致多人伤亡,多处民宅、房屋遭到严重损毁。经初步调...
大湾区打出智造新名片,高域首台... 近日,在广州黄埔区的智能制造产业园内,一架白色多旋翼飞行器缓缓驶出生产线,标志着高域(GOVY)这家...
VR眼镜与元宇宙:沉浸式体验会... VR眼镜与元宇宙:沉浸式体验会不会导致“魂不守舍”?虚拟现实对精神能量的消耗 杨明德/文 朋友们好,...
张凌赫粉丝挤爆玻璃门、活动临时... 5月31日,张凌赫原定在广西南宁万象城出席品牌活动,大批粉丝早早前往商场排队等候。现场人潮涌动,人群...
5月31日“蓝月亮”上线,还是... 据新华社:5月31日,农历四月十五,一轮满月将现身夜空。这轮满月有些特别,它是本月第二次满月,同时它...
中国的刀产量,究竟有多恐怖? 中年男人在短视频平台最爱看啥?小姐姐跳舞?那你可就想错了——锻刀大赛才是中年男人真正的“减速带”。在...
花费半生积蓄,农村自建房热背后 今年以来,在安徽安庆望江县做外墙漆生意的徐仙琴越来越忙碌了,她和员工们每天奔波在县城的各个村庄里,找...
黎以冲突再升级对中东地区影响几... 从当前的局势来看,黎以双方博弈已陷入谈判停滞、战火升级的恶性循环,地区冲突风险持续走高。根据以军发布...
易事达取得载带冷却定型装置专利... 国家知识产权局信息显示,浙江易事达电子材料有限公司取得一项名为“一种载带冷却定型装置”的专利,授权公...