• 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
    

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

    参考资料:

    PHP 官网:http://php.net/manual/zh/book.pcntl.php


    交友互动:

    本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。
    马燕龙个人博客:http://www.mayanlong.com
    马燕龙个人微博:http://weibo.com/imayanlong
    马燕龙Github主页:https://github.com/yanlongma

  • 相关阅读:
    Visual Studio 2010 C++ 属性设置基础
    Visual Studio 2010 C++ 工程文件解读
    编译Python2.7.10
    编译libmemcached
    python2.7.10 VS2015编译方法
    zlib编译方法
    Openssl VS编译方法
    STL容器
    C++数值类型与string的相互转换
    NGINX配置文件详解
  • 原文地址:https://www.cnblogs.com/imayanlong/p/6033017.html
Copyright © 2020-2023  润新知