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实现分页的一个示例
Oct 09 PHP
PHP+DBM的同学录程序(4)
Oct 09 PHP
通过JavaScript或PHP检测Android设备的代码
Mar 09 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
记录PHP错误日志 display_errors与log_errors的区别
Oct 09 PHP
php 发送带附件邮件示例
Jan 23 PHP
PHP反射机制用法实例
Aug 28 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 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
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
2011/09/20 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python实现八大排序算法(2)
2017/09/14 Python
Python Logging 日志记录入门学习
2018/06/02 Python
python实现俄罗斯方块
2018/06/26 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
Python3并发写文件与Python对比
2019/11/20 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
单位办理社保介绍信
2014/01/10 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
小学见习报告
2014/10/31 职场文书
python脚本框架webpy模板赋值实现
2021/11/20 Python