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 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
繁体中文转换为简体中文的PHP函数
Oct 09 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
apache php模块整合操作指南
Nov 16 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
thinkphp配置连接数据库技巧
Dec 02 PHP
PHP时间和日期函数详解
May 08 PHP
如何使用PHP给图片加水印
Oct 12 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 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+mysql写的留言本
2006/10/09 PHP
深入php list()函数的详解
2013/06/05 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
PHP实现批量修改文件名的方法示例
2019/09/18 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
python斐波那契数列的计算方法
2018/09/27 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
档案室主任岗位职责
2014/02/12 职场文书
书香校园活动方案
2014/02/28 职场文书
咖啡店创业计划书
2014/08/15 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python