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 相关文章推荐
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
ThinkPHP中处理表单中的注意事项
Nov 22 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
php+Mysqli利用事务处理转账问题实例
Feb 11 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
浅谈PHP值mysql操作类
Jun 29 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
Mar 15 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 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
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
Javascript中引用示例介绍
2014/02/21 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
js改变embed标签src值的方法
2015/04/10 Javascript
JS选项卡动态替换banner图片路径的方法
2015/05/11 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
node.js实现端口转发
2016/04/14 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
如何在JavaScript中使用localStorage详情
2021/02/04 Javascript
python实现的重启关机程序实例
2014/08/21 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
Django视图、传参和forms验证操作
2020/07/15 Python
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
个人自我鉴定
2013/11/07 职场文书
高校自主招生自荐信
2013/12/09 职场文书
车辆工程专业求职信
2014/06/14 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
个人求职意向书
2015/05/11 职场文书
大学运动会加油稿
2015/07/22 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
导游词之西递宏村
2019/12/10 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
Python预测分词的实现
2021/06/18 Python
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers