mac系统下为 php 添加 pcntl 扩展

前言:

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
(0)

相关推荐

  • 在Mac OS上安装Vagrant和Docker的教程

    当听到很多人在说Docker是多么多么的棒,很多新潮的孩子都在使用它时,我决定在我的开发环境上也来尝试下.在下面的这篇文章中,我将讲解在Mac OS X怎样建立Postgres,Elasticsearch和Redis. 什么是Docker Docker用轻量容器把一个APP从它运行的OS中隔离开.它把APP放入到一个孤立的盒子中,对外只呈现需要使用的文件夹和端口. 这样,基于建立和使用APP的容器是可重用,共享的.目前,在Docker集中已经存在了15,000种以上的容器.Docker就像一个商

  • Mac上使用Docker如何快速启动MySQL测试

    本文主要讨论使用Docker快速启动 MySQL 测试的方法,包括Mac环境.一起看看吧! 近来业界有很多对Docker的讨论,其生态系统发展得很快,然而,从简单的"入门"或"引导"类的文章中能容易地找到成熟的技术,但Docker不然.我在Mac上试玩过Docker,但Mac绝对是Docker界的二等公民.当我在Giuseppe的博客上看到关于在Mac上使用新Docker beta<Docker for Mac beta and MySQL>一文时,决定

  • Mac下获取AppStore安装包文件路径

    通过远在大洋彼岸的苹果服务器下载东西,确实有够慢啊!AppStore更甚:甚至都经常提示连不上服务器,而有些软件呢,还必须从AppStore下载安装,所以没办法,谁让上了苹果的贼船呢!公司的网速更是不敢恭维,以至于基本上不下东西,除非像这次一样:手贱的把iPhone6升级到8.2.2了,然后Xcode6.1.1真机调试不成了,所以需要下个Xcode6.2.昨天刚更新的Xcode6.2,没有看国内有同胞下载下来没,一般我都是会从官网下载一个保存到百度网盘以供自己和别人使用的.但是迅雷.浏览器下载的

  • java 获取mac地址的两种方法(推荐)

    我在网上找了一下获取mac地址的方法,找了两种比较不太一样的方法. 第一种 public static void main(String[] args) throws Exception { InetAddress ia = InetAddress.getLocalHost(); System.out.println(getMACAddress(ia)); } private static String getMACAddress(InetAddress ia) throws Exception

  • Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解

    选择在PhpStorm集成apache服务器,下面是我自己的亲测的步骤. 1.如何修改apache默认端口 xampp apache默认的http访问端口是80 修改完成后在xampp中重启apache. 2.配置流程 打开Settings / Preferences 找到 Build, Execution, Deployment 选项,点击 Deployment 添加如下: 因为我们修改了默认端口80,所以这里一定要指明端口号.目录是/Applications/XAMPP/xamppfiles

  • Mac中MariaDB数据库的安装步骤

    前言 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中.MariaDB名称来自Michael Widenius的女儿Maria的名字.那么在Mac中如何安装MariaDB数据库呢?下面小编就给大家介绍Mac中安装配置MariaDB数据库的方法. MariaDB安装步骤 如果你是Mac上的开发者,通过本文你可以在OS X上通过Hom

  • Mac上搭建nginx+rtmp直播服务器的步骤详解

    前言 相信大家都知道nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,所以小编在网上整理了安装流程,现在分享给大家并且作备忘.有需要的朋友们可以参考学习,下面来一起看看吧. 一.安装Homebrow 已经安装了brow的可以直接跳过这一步. 执行命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 如果已经安装过,而

  • MAC下安装docker教程

    序 由于云主机很快就要到期了,还是在mac上先搭一下docker环境吧. 安装brew curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1 boot2docker方式(将要废弃) 安装docker sudo brew install boot2docker boot2docker init 启动 boot2docker up 按提示更新环境变量 export

  • Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法

    Mac OS X 下基于 Java 的程序(如 IntelliJ IDEA.jEdit 等)会出现中文标点输入无效的问题,在中文输入法状态,可以输入中文字,但输入中文标点最后上去的是英文标点.查阅了相关资料,原来这是 Java 自己的 bug.从 Java 8u51 版本开始就出现了这个 bug,一直到现在最新的 Java 8u72 仍然如此,但是老版本 Java 8u45 是没有这个问题的.所以,可以采取变通的方法,在 Mac OS X 上同时装一个老版本的 JDK 8u45,不会影响已经安装

  • mac下多个php版本快速切换的方法

    前言 php是为了快速构建一个web页面而迅速被大家广为接受的开源语言,通过不断发展已经有了很多的php开源系统,满足了目前大部分用户的站点需求.1995年初php诞生到现在已经存在多个版本,并且每个版本都属于一个系列,大多数网站源码都不能相互兼容,所以能够快速的切换PHP版本还是很实用的. 注意:要求所有php版本都是由brew安装 一.使用brew安装php多版本方法 # brew install php56 # brew install php70 二.安装切换工具 # brew inst

  • Mac OSX系统 Docker启用Docker远程API功能

    在Mac OSX系统的Docker机上启用Docker远程API功能 Docker守护进程提供了一套远程REST API,具体可以参考文档: https://docs.docker.com/engine/reference/api/docker_remote_api/ 这套API是提供给客户端与Docker引擎通信时使用,这套API也可以由其他工具调用,比如curl或Chrome浏览器的Postman REST客户端工具. 如果是在Mac OSX Mavericks系统上使用Docker机创建D

随机推荐