• 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

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

  • 相关阅读:
    Java模拟ATM运行过程(第一版)
    双色Hanoi塔问题及判断指令
    一点编程风格
    游戏程序员养成计划
    OGRE编译
    Python学习收藏
    case 语句注意
    [c、c++]宏中"#"和"##"的用法(zz)
    网络代码平台tortoise svn+google code
    使用delegate进行解耦
  • 原文地址:https://www.cnblogs.com/onephp/p/9174782.html
Copyright © 2020-2023  润新知