前言:
pcntl 介绍
pcntl扩展可以支持 PHP 的多线程操作。(非Unix类系统不支持此模块)
phpize 介绍
phpize 可以用来给 PHP 动态的添加扩展。比如编译 PHP 时忘记添加某扩展,后来想添加该扩展,即可以使用 phpize 动态的添加该扩展。
本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展。类 Unix 的环境都可以使用本方法安装,注意灵活变通。
安装:
下载和本地 PHP 版本对应的源码包,地址为:
然后按照如下步骤编译(演示的是给 MAMP的PHP 5.6.10版本添加 pcntl扩展):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
$ 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
|