mac系统下为 php 添加 pcntl 扩展


Posted in PHP onAugust 28, 2016

前言:

pcntl 介绍

pcntl扩展可以支持 PHP 的多线程操作。(非Unix类系统不支持此模块)

phpize 介绍

phpize 可以用来给 PHP 动态的添加扩展。比如编译 PHP 时忘记添加某扩展,后来想添加该扩展,即可以使用 phpize 动态的添加该扩展。

本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展。类 Unix 的环境都可以使用本方法安装,注意灵活变通。

安装:

下载和本地 PHP 版本对应的源码包,地址为:

http://www.php.net/releases/

然后按照如下步骤编译(演示的是给 MAMP的PHP 5.6.10版本添加 pcntl扩展):

$ tar -xzvf php-5.6.10.tar.gz
$ mv php-5.6.10 php
$ mkdir -p /Applications/MAMP/bin/php/php5.6.10/include
$ mv php /Applications/MAMP/bin/php/php5.6.10/include

$ cd /Applications/MAMP/bin/php/php5.6.10/include/php
$ ./configure

$ MACOSX_DEPLOYMENT_TARGET=10.10
$ CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp"
$ CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"
$ CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"
$ LDFLAGS="-arch i386 -arch x86_64 -bind_at_load"
$ export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET

$ cd ext/pcntl
$ phpize
$ ./configure
$ make
$ cp modules/pcntl.so /Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/  

$ echo "extension=pcntl.so" >> /Applications/MAMP/bin/php/php5.6.10/conf/php.ini

$ /Applications/MAMP/bin/php/php5.6.10/bin/php --ri pcntl
pcntl
pcntl support => enabled
PHP 相关文章推荐
PHP编实现程动态图像的创建代码
Sep 28 PHP
洪恩在线成语词典小偷程序php版
Apr 20 PHP
PHP之短标签开启设置
Jun 17 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
php中的boolean(布尔)类型详解
Oct 28 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
PHP保存session到memcache服务器的方法
Jan 19 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
Nov 08 PHP
PHP基于PDO扩展操作mysql数据库示例
Dec 24 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 PHP
PHP编写简单的App接口
Aug 28 #PHP
PHP导出带样式的Excel示例代码
Aug 28 #PHP
总结对比php中的多种序列化
Aug 28 #PHP
PHP打印输出函数汇总
Aug 28 #PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 #PHP
PHP常用的三种设计模式汇总
Aug 28 #PHP
Apache PHP MySql安装配置图文教程
Aug 27 #PHP
You might like
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
2013/06/24 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
2018/09/17 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
python中的print()输出
2019/04/12 Python
python 导入数据及作图的实现
2019/12/03 Python
python几种常用功能实现代码实例
2019/12/25 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
党支部公开承诺书
2014/03/28 职场文书
报关报检委托书
2014/04/08 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
委托公证书格式
2015/01/26 职场文书