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中使用Oracle数据库(1)
Oct 09 PHP
一些 PHP 管理系统程序中的后门
Aug 05 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
php使用反射插入对象示例分享
Mar 11 PHP
PHP独立Session数据库存储操作类分享
Jun 11 PHP
destoon找回管理员密码的方法
Jun 21 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
Yii核心验证器api详解
Nov 23 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
PHP设计模式之单例模式定义与用法分析
Mar 26 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/02/17 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
PHP jQuery+Ajax结合写批量删除功能
2017/05/19 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
10张动图学会python循环与递归问题
2021/02/06 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
大二自我鉴定范文
2013/10/05 职场文书
心理学专业求职信
2014/06/16 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
举起手来观后感
2015/06/09 职场文书
《司马光》教学反思
2016/02/22 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang