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中HTTP方式下的Gzip压缩传输方法举偶
Feb 15 PHP
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
Jan 07 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
PHP类与对象中的private访问控制的疑问
Nov 01 PHP
浅析is_writable的php实现
Jun 18 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
Smarty保留变量用法分析
May 23 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
laravel-admin的多级联动方法
Sep 30 PHP
解决Laravel5.2 Auth认证退出失效的问题
Oct 14 PHP
Laravel 自定命令以及生成文件的例子
Oct 23 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生成静态页面教程
2012/01/10 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
小程序实现留言板
2018/11/02 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
python搭建虚拟环境的步骤详解
2016/09/27 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
python使用tensorflow深度学习识别验证码
2018/04/03 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
python 读取文件并替换字段的实例
2018/07/12 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
Python最小二乘法矩阵
2019/01/02 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
python中添加模块导入路径的方法
2021/02/03 Python
linux面试题参考答案(10)
2013/11/04 面试题
大学学年自我鉴定
2013/10/28 职场文书
旅游管理专业个人求职信范文
2013/12/24 职场文书
家长给小学生的评语
2014/01/30 职场文书
单位消防安全责任书
2014/07/23 职场文书
小学生安全教育主题班会
2015/08/12 职场文书