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

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

  1. 为php添加pcntl扩展,多线程

    前言: pcntl 介绍 pcntl扩展可以支持 PHP 的多线程操作.(非Unix类系统不支持此模块) phpize 介绍 phpize 可以用来给 PHP 动态的添加扩展.比如编译 PHP 时忘记 ...

  2. MAMP 环境下为 php 添加 pcntl 扩展

    前言: pcntl 介绍 pcntl 扩展可以支持 PHP 的多线程操作.(非Unix类系统不支持此模块) phpize 介绍 phpize 可以用来给 PHP 动态的添加扩展.比如编译 PHP 时忘 ...

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

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

  4. linux下的redis安装以及php添加redis扩展

    一.redis的安装 win版本详见: 下面是linux版本的安装步骤: step1.下载 http://redis.io/download下载完后直接make然后make install,注意sud ...

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

    1,今天在开发项目的时候使用了一个php函数(mb_strcut),运行代码时候提示报错"call to undefind function mb_strcut",首先检查下函数名 ...

  6. linux 添加php gd扩展 (linux添加PHP扩展)

    首先最基本的 第一:先安装库 yum -y install libjpeglibjpeg-devel libpng libpng-devel freetype freetype-devel 第二:进入 ...

  7. linux下为已经编译好的php环境添加mysql扩展(php安装完成后如何添加mysql扩展)

    问题背景 平常我们都是先安装mysql,然后才能去安装php.假如先安装php,后安装mysql,由于php需要连接mysql,因而在php引擎中需要配置使用mysql.so扩展.这时需要手动编译生成 ...

  8. centos6.5 gsoap安装过程+ php添加soap扩展

    参考博客: CentOS编译安装gSOAP Linux C实现webservice调用 安装gsoap流程  里面提到make时可能碰到的问题 还没有用到 1.从官网下载最新的版本:http://so ...

  9. 如何扩展Linux虚拟内存文件系统

    由于ArcGIS GeoAnalystics Server和Raster Analytics Server大数据分析平台都是基于Spark分析平台的,其部署服务器除了要求具有高内存特点外,也需要确保相 ...

随机推荐

  1. 属于自己的MES(一)概念

    什么叫MES(生产制造执行系统)? 从几个方面来简单说下: 1.定位 没有MES前的工厂生产模式,公司MRP系统与生产现场之间透过人为方式沟通,使生产现场如同黑箱作业,无法掌握实时正确信息. MES的 ...

  2. Linux安装jdk7开发环境

    1.官网 下载jdk7版本 地址: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-jav ...

  3. j2ee分布式架构 dubbo + springmvc + mybatis + ehcache + redis 分布式架构

    介绍 <modules>        <!-- jeesz 工具jar -->        <module>jeesz-utils</module> ...

  4. css控制table的td宽度

    今天发现即使设置table的td.th宽度,仍是不管用,是根据table的td的内容来适应宽度,导致其他的th.td丢失. 下图就是浏览器渲染的table,导致缺失"端口"这一列, ...

  5. 学习SpringMVC中优秀的代码编写风格

    在org.springframework.web.servlet.FrameworkServlet 中有下面这段代码 private class ContextRefreshListener impl ...

  6. 关于JS的页面跳转

    "window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一 ...

  7. cf255C Almost Arithmetical Progression

    C. Almost Arithmetical Progression time limit per test 1 second memory limit per test 256 megabytes ...

  8. 基于底层的 XML 的解析方式详解

    在上一篇博客中,我们介绍了什么是 XML ,http://www.cnblogs.com/ysocean/p/6901008.html,那么这一篇博客我们介绍如何来解析 XML . 部分文档引用:ht ...

  9. SpringMVC实现账号只能在一处登陆

    一.问题引导 在Web开发中,实现一个账号只能在一处登陆有两种形式:1.当某个账号在某处登陆后,如果再在其他处登陆,将前一个账号挤掉:2.当某个账号登陆后,此账号在其他设备登陆提示已经登陆,无法登陆. ...

  10. JMETER 不同线程组 变量值 的参数传递

    线程组 1   在线程组1中使用__setProperty函数设置jmeter属性值(此值为全局变量值),将所需变量值如${token}设置为jmeter属性值,即newtoken,示例: 1.添加- ...