php添加pcntl扩展(Linux)

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

转载地址:https://my.oschina.net/junn/blog/158616

时间: 2024-10-05 15:13:29

php添加pcntl扩展(Linux)的相关文章

MAMP 环境下为 php 添加 pcntl 扩展

pcntl 介绍 pcntl 扩展可以支持 PHP 的多线程操作.(非Unix类系统不支持此模块) phpize 介绍 phpize 可以用来给 PHP 动态的添加扩展.比如编译 PHP 时忘记添加某扩展,后来想添加该扩展,即可以使用 phpize 动态的添加该扩展. 本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展.类 Unix 的环境都可以使用本方法安装,注意灵活变通. 安装: 下面演示的是给 MAMP的PHP 5.6.10版本添加 pc

Linux系统中为php添加pcntl扩展的方法

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

在Linux环境下给php添加mbstring扩展

1,今天在开发项目的时候使用了一个php函数(mb_strcut),运行代码时候提示报错"call to undefind function mb_strcut",首先检查下函数名没有写错,难道是php.ini中没有开启扩展,后来去phpinfo看了确实没有加载mb_strcut,后台得知这个扩展在官方由mbstring构建 2,去php官方pecl首页搜索竟然搜索不到,MDZZ,what the hell,由于php安装包中带有所有的扩展,所以楼主用wget下载一个php5.6.24

linux和windows下添加php扩展方法

本次编译只是单独编译php的扩展库,然后将编译好的php扩展库加到现在运行的php中,不对现在运行的php重新编译,所以对现在运行的php没有任何影响. 假如原先编译的php目录在/usr/local/php目录下;apache在/usr/local/apache2目录下:php源代码在/usr/local/src/php-5.2.14目录下.如果实际目录与假定的目录不一致,则在下面的命令中做调整. 1. 找到当前运行的php版本的源代码目录,如 php-5.2.14.进入curl扩展库目录.$

一键安装lnmp后添加php扩展问题

       因为要使用php的pcntl扩展多进程函数,所以需要添加php的pcntl的函数.但是本机linux环境使用的是lnmp.org的一键安装包,查看ext里面的文件后,没有发现有pcntl的文件包. 解决办法:        在网上下载对应版本的php,然后在linux下解压,解压后找到pcntl的文件包,然后将其mv到本机linux的文件包中.         依照方法:         1,cd 到php的ext/pcntl目录         2,phpize        

VMware 下扩展linux硬盘空间

linux下扩展硬盘有很多种方式,在扩展之前,尽量看看自己的空间存在的有哪些盘,然后再进行扩展.如果是扩展的话,磁盘的符号和已经有的符号一样,比如都是sda的设备,知识分区不同,可能是sda3 sda4 如果是添加的话,相对于一个新的硬盘,可能是sdb  sdc 很多人在学习Nutch.Hadoop或者熟悉Linux操作系统时都会选择在VMWare上安装Linux虚拟机,而又往往不想分配给Linux虚拟机足够大的硬盘空间,这就容易导致使用Linux一段时间后,发现虚拟机上的硬盘空间不够了,此时怎

LR添加Windows和Linux压力机实战

添加Windows和Linux压力机实战 既然Controller是LoadRunner的“心脏”,那么压力产生也必然是它发起的,通过压力机来对被测系统产生压力.一般压力机分为Windows和Linux.当并发量比较大时建议使用Linux. 1. 添加Windows压力机 添加Windows压力机的步骤相对来说简单些,具体如下. 1)保证要添加的压力机上安装了LoadRunner Agent,并启用(状态栏中会有一个小卫星). 2)添加的压力机与Controller所在机器要在同一个网段,建议把

laravel 5.1 添加第三方扩展库

laravel 5.1 添加第三方扩展库 时间:2015-09-07 19:20:34      阅读:1654      评论:0      收藏:0      [点我收藏+] 步骤一:确定你要放第三方库的目录,假设:app/libs,并在该目录下放置类文件common.php. 步骤二:找到根目录下的composer.json文件并打开,找到autoload-dev参数,添加"app/libs/common.php".如图: common.php代码: 步骤三:然后执行命令: ph

通过phpize添加PHP扩展openssl、mysql

phpize phpize 命令是用来准备 PHP 扩展库的编译环境的.下面例子中,扩展库的源程序位于 extname 目录中: 1 2 3 4 5 $ cd extname $ phpize $ ./configure $ make # make install 成功的安装将创建 extname.so 并放置于 PHP 的扩展库目录中.需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此扩展库. 如果系统中没有 phpize 命令并且使用了预编译的包(