mac系统下为 php 添加 pcntl 扩展

5年以前  |  阅读数:662 次  |  编程语言:PHP 

前言:

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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例