zoukankan      html  css  js  c++  java
  • MAMP 环境下为 php 添加 pcntl 扩展

    pcntl 介绍

    pcntl 扩展可以支持 PHP 的多线程操作。(非Unix类系统不支持此模块)

    phpize 介绍

    phpize 可以用来给 PHP 动态的添加扩展。比如编译 PHP 时忘记添加某扩展,后来想添加该扩展,即可以使用 phpize 动态的添加该扩展。

    本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展。类 Unix 的环境都可以使用本方法安装,注意灵活变通。

    安装:

    下面演示的是给 MAMP的PHP 5.6.10版本添加 pcntl扩展。

    下载和本地 PHP 版本对应的源码包,地址为:

    http://www.php.net/releases/
    然后按照如下步骤进行编译:

    # 解压源码包并初始化目录
    $ 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

    # 添加一些标志来告诉系统怎样编译。MAMP PHP已经建成这样,如果不这样做,编译的共享对象将无法工作。
    $ 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

    # 编译 pcntl.so 文件
    $ cd ext/pcntl
    $ phpize
    $ ./configure
    $ make

    # 将编译出来的扩展文件pcntl.so 移动到php的扩展目录
    $ cp modules/pcntl.so /Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/   

    # 向php.ini 文件中添加该扩展
    $ echo "extension=pcntl.so" >> /Applications/MAMP/bin/php/php5.6.10/conf/php.ini

    # pcntl现在应该已经启用,要检查是否安装成功,只需运行:
    $ /Applications/MAMP/bin/php/php5.6.10/bin/php --ri pcntl
    pcntl
    pcntl support => enabled

    如出现以上信息,则说明该扩展已安装成功。

  • 相关阅读:
    spoj227 树状数组插队序列问题
    hdu2838树状数组解逆序
    hdu2642二维树状数组单点更新
    hdu1556 树状数组区间更新单点查询板子
    hdu3015树状数组 poj1990的离散化版本
    poj1990两个树状数组
    Python中面向对象和类
    Python中面向对象和类
    Python中的字典dict
    Python中的字典dict
  • 原文地址:https://www.cnblogs.com/onephp/p/9174782.html
Copyright © 2011-2022 走看看