首页 > 编程 > PHP > 正文

MAMP 环境下为 php 添加 pcntl 扩展

2019-11-09 16:34:06
字体:
来源:转载
供稿:网友

转自:http://www.111cn.net/sys/linux/118013.htm

MAMP PRo是一款适用于Mac操作系统的软件,MAMP PRO是专业级版本的经典本地服务器环境的os x软件。MAMP这几个首字母代表苹果的OSX系统上的Macintosh、Apache、MySQLphp,下面我们来看在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 pcntlpcntlpcntl support => enabled

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表